|
@@ -1,97 +1,109 @@
|
|
|
# SIG Network Charter
|
|
|
-
|
|
|
This charter adheres to the Roles and Organization Management specified in <sig-governance>.
|
|
|
- Team information may be found in the <readme.md>
|
|
|
+Team information may be found in the [readme.md](https://github.com/o3de/sig-network/blob/main/README.md)
|
|
|
|
|
|
-## Overview of SIG
|
|
|
+Last Updated: **28th December 2021**
|
|
|
|
|
|
-Two concise lines explaining what this SIG does with bullet points of the major responsibilities
|
|
|
+## 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.
|
|
|
|
|
|
-- Responsibility
|
|
|
+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
|
|
|
+- Major goals that SIG seeks to generally achieve: TBD
|
|
|
|
|
|
## Scope
|
|
|
|
|
|
-- Generalized overall scope of work
|
|
|
+- 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
|
|
|
+- 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](https://github.com/o3de/o3de-multiplayersample), [NetSoakTest](https://github.com/o3de/o3de-netsoaktest).
|
|
|
|
|
|
###Network:
|
|
|
-- Design and maintain client and server protocol communication
|
|
|
+- 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 condititons.
|
|
|
-
|
|
|
-- Design and maintain multiplayer component architecture supporting client hosted and dedicated server strategies
|
|
|
+- 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:
|
|
|
-- Design and implement network communication and data exchange for cloud services.
|
|
|
-- Define, standardize, and maintain interface to feature based cloud services.
|
|
|
-- Define and maintain code to enable cloud data services communication
|
|
|
-- Define and implement 3rd party distribution platform services interfaces.
|
|
|
-
|
|
|
-for identity, matchmaking, profiles, persistence.
|
|
|
-
|
|
|
-- Items that are the core responsibilities of SIG
|
|
|
-
|
|
|
-**Cross-cutting Processes**
|
|
|
-- consume and utilize services
|
|
|
-- ensure client and server targets
|
|
|
-- Define communication protocol and stack
|
|
|
-- Define and maintain entity replication network model
|
|
|
-- Responsible for abstraction of console design for dedicated / headless server implementation (core / init)
|
|
|
+- 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.
|
|
|
-
|
|
|
-- Reponsible for design and implementation of controller component until matured and moved into simulation SIG.
|
|
|
-
|
|
|
+- 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)
|
|
|
-
|
|
|
-- Items that span or require other SIGs or groups and how it relates to this SIG’s responsibilities
|
|
|
+- 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 cloud or network services or interopability with such.
|
|
|
-- Not responsible for 3rd party gems and code for network services
|
|
|
+- 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 the network tool implementation outside of core multiplayer and cloud services, but may advise teams on best practices.
|
|
|
+- 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.
|
|
|
|
|
|
-- Items that are optional or are not the responsibility of this SIG.
|
|
|
|
|
|
## SIG Links and lists:
|
|
|
-
|
|
|
-- Joining this SIG
|
|
|
-- Slack/Discord
|
|
|
-- Mailing list
|
|
|
-- Issues/PRs
|
|
|
-- Meeting agenda & Notes
|
|
|
+- Slack/Discord: See https://o3de.org/community/ for Discord link, join the conversation in `#sig-network`.
|
|
|
+- Mailing list: https://lists.o3de.org/g/sig-network
|
|
|
+- SIG repro: https://github.com/o3de/sig-network
|
|
|
+- Issues/PRs:
|
|
|
+ - Issues: https://github.com/o3de/o3de/issues?q=is%3Aissue+is%3Aopen+label%3Asig%2Fnetwork
|
|
|
+ - PRs: https://github.com/o3de/o3de/pulls?q=is%3Apr+is%3Aopen+label%3Asig%2Fnetwork
|
|
|
+- Meeting agenda & Notes:
|
|
|
+ - Agendas: https://github.com/o3de/sig-network/labels/mtg-agenda
|
|
|
+ - Meeting Notes: https://github.com/o3de/sig-network/tree/main/meetings
|
|
|
|
|
|
## Roles and Organization Management
|
|
|
|
|
|
-SIG Docs adheres to the standards for roles and organization management as specified by <sig-governance>. This SIG opts in to updates and modifications to <sig-governance>
|
|
|
+SIG-network adheres to the standards for roles and organization management as specified by [O3DE Foundation](https://github.com/o3de/community). This SIG opts in to updates and modifications to the Foundation's guidance (referred to below as <sig-governance>).
|
|
|
|
|
|
## Individual Contributors
|
|
|
|
|
|
-Additional information not found in the sig-governance related to contributors.
|
|
|
+Additional information not found in the <sig-governance> related to contributors.
|
|
|
|
|
|
## Maintainers
|
|
|
|
|
|
-Additional information not found in the sig-governance related to contributors
|
|
|
+Additional information not found in the <sig-governance> related to maintainers.
|
|
|
|
|
|
## Additional responsibilities of Chairs
|
|
|
|
|
|
-Additional information not found in the sig-governance related to SIG Chairs
|
|
|
+Additional information not found in the <sig-governance> related to SIG Chairs.
|
|
|
+
|
|
|
+* Have all responsibilities of Individual Contributors and Maintainers:
|
|
|
+* Work with [O3DE Foundation](https://github.com/o3de/community) and [TSC](https://github.com/o3de/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 <sig-governance> board for review.
|
|
|
|
|
|
## Subproject Creation
|
|
|
|
|
|
-Additional information not found in the sig-governance related to subproject creation
|
|
|
+Additional information not found in the <sig-governance> related to subproject creation.
|
|
|
|
|
|
## Deviations from sig-governance
|
|
|
|
|
|
-Explicit Deviations from the sig-governance
|
|
|
+Explicit Deviations from the <sig-governance>.
|