Skip to content

Latest commit

 

History

History
123 lines (87 loc) · 6.82 KB

SIG Network Charter.md

File metadata and controls

123 lines (87 loc) · 6.82 KB

SIG Network Charter

This charter adheres to the Roles and Organization Management specified in . Team information may be found in the readme.md

Last Updated: 28th December 2021

Overview of SIG

This SIG is responsible for communication mechanisms in O3DE related to multiplayer, networking and cloud networking. The SIG defines and owns communication protocols, methods and approaches to support O3DE client to server, as well as interactions with cloud services.

Responsibilities include:

  • Secure network transport including client+server interactions over TCP or UDP sockets.
  • Network state replication.
  • Restful HTTP(s) support.

Goals

  • Major goals that SIG seeks to generally achieve: TBD

Scope

  • Generalized overall scope of work is anything that impacts networking between clients and servers, multiplayer or interactions with cloud services.

In scope

  • Define standard for communication negotiation.
  • Define and maintain implementation to enable compression and secure communication between endpoints.
  • Define and implement interface to network counters, monitoring, and statistics.
  • Define and implement low level instrumentation APIs.
  • Items that are the core responsibilities of SIG.
  • Maintenance of network sample projects owned by SIG: MultiplayerSample, NetSoakTest.
  • Maintenance of network and multiplayer project templates owned by SIG: Multiplayer project template.

Network

  • Design and maintain client and server protocol communication.
  • Define, publish, and maintain network protocol and data packet design model.
  • Responsible for network presence and state replication.
  • Create and maintain network simulation tools for testing network conditions.
  • Design and maintain multiplayer component architecture supporting client hosted and dedicated server strategies.
  • Define and maintain specific implementation of multiplayer controller component.
  • Networking specific serialization (as part of the transport layer).

Cloud

  • Define, standardize, and maintain interfaces for features based on cloud services.
  • Define and maintain code to enable cloud data services communication.

Cross-cutting Processes

  • Define client and server build targets for supported platforms, cross-cutting issue with #sig-core and #sig-build.
  • Define communication protocol and stacks.
  • Define and maintain entity replication network model.
  • Responsible for abstraction of console design for dedicated / headless server implementation (core / init).
  • Define and maintain implementation of communication and data transfer between network based tools.
  • Responsible for design and implementation of controller component until matured and moved into simulation SIG.
  • Publish multiplayer component standard architecture to be shared with SIGs for remote simulation (physics/animation)
  • Define and maintain network layer encryption, as a cross-cutting issue with #sig-security.
  • Define and maintain network testing, as a cross-cutting issue with #sig-testing.
  • Define and maintain cloud services testing for cloud service components accepted by SIG, as a cross-cutting issue with #sig-testing.
  • Items that span or require other SIGs or groups and how it relates to this SIG’s responsibilities.

Out of Scope

  • Not responsible for sample projects unless projects are approved/accepted by SIG.
  • Not responsible for cloud or network services or interoperability with such services.
  • Not responsible for 3rd party gems and code for network services. Contributors submitting such integrations are responsible for support.
  • Not responsible for best practices of network or services implementation.
  • Not responsible for networked tools implementation, outside of core responsibilities for multiplayer and cloud services, but may advise teams on best practices.
  • Versioning of communication protocols (not currently a responsibility of the SIG).
  • Support for peer-to-peer connectivity (not currently a responsibility of the SIG).
  • Definition and implementation of 3rd party distribution platform services interfaces.

SIG Links and lists:

Roles and Organization Management

SIG-network adheres to the standards for roles and organization management as specified by O3DE Foundation. This SIG opts in to updates and modifications to the Foundation's guidance (referred to below as ).

Individual Contributors

Additional information not found in the reviewer governence related to contributors.

  • SIG/network reviewers are responsible for additional code owned by SIG which includes the MultiplayerSample project, NetSoakTest and Multiplayer Template.

Maintainers

Any additional information not found in maintainer governence related to maintainers.

  • SIG/Network maintainers are responsible for additional code owned by SIG which includes the MultiplayerSample project, NetSoakTest and Multiplayer Template.

Additional responsibilities of Chairs

Additional information not found in the related to SIG Chairs.

  • Have all responsibilities of Individual Contributors and Maintainers:
  • Work with O3DE Foundation and TSC to set and maintain future direction
    • Responsible for representing SIG-Network and reporting back to SIG.
  • Responsible for scheduling and running all public SIG-network meetings, including creating agendas and recording notes.
  • Be a tie-breaker when conflicts within the group deadlock.
  • Disputes with the chair can be brought to the board for review.

Subproject Creation

Any additional information not found in O3DE's general SIG governance related to subproject creation.

  • None, at this time.

Deviations from sig-governance

Any explicit deviations from the O3DE's general SIG governance.

  • None, at this time.