L2J Login Server 2 SRS
Zoey76 - Feb 26, 2015
Version | Author | Date | Description |
---|---|---|---|
0.1 | @Zoey76 | Feb 26, 2015 | Initial SRS draft |
0.2 | @Zoey76 | Mar 1, 2015 | Added source refactor phase |
# 1 Introduction
The goal is to achieve a login server that can work with all server protocols of L2J Server, with high networking performance.
The lack of a unified login server version that could handle 2 or more different game servers protocols at the same time.
The current implementation will change in two directions:
- Support different game server protocols
- Better networking handling
MUST is a mandatory specification.
SHOULD is a highly recommended specification.
COULD is a recommended specification (optional).
# 2 The Login Server v2
- Research pattern to handle multiple protocols. [Done]
- Design the structure for the most interesting patterns. [Done]
- Design unit tests for this patterns. [Done]
- Implement unit tests. [Done]
- Implement the patterns. [Done]
- Perform testing. [Done]
- Compare performance test results. [Not required]
- Choose and fully implement the best pattern. [Done]
- Test final implementation.
- Research login server networking.
- Research Synchronous vs Asynchronous.
- Research Netty vs CoralReactor vs Grizzly vs Mina (Some may not apply).
- Design abstraction to support multiple networking implementations.
- Implement unit tests for the abstraction layer.
- Test the abstraction layer with current MMOCore.
- Design unit tests for each networking framework.
- Implement basic support for each networking framework.
- Perform testing.
- Compare performance test results.
- Choose and fully implement the best networking framework.
- Test final implementation.
- Release first version as L2J_LoginServer2_RC1.
# 3 Functional Requirements
The login server MUST support all official L2J game server protocols. The final version COULD support other non-official (forks) L2J game server implementations.
The login server MUST implement the best networking framework as default. The final version COULD support multiple networking frameworks out-of-the-box. The final version SHOULD support MMOCore.