Skip to content

L2J Login Server 2 SRS

Zoey76 edited this page Mar 2, 2015 · 7 revisions

Software Requirements Specification


L2J Login Server 2

Zoey76 - Feb 26, 2015

1 Introduction

2 The Login Server v2

3 Functional Requirements

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

1.1 Purpose

The goal is to achieve a login server that can work with all server protocols of L2J Server, with high networking performance.

1.2 Motivation

The lack of a unified login server version that could handle 2 or more different game servers protocols at the same time.

1.3 Scope

The current implementation will change in two directions:

  • Support different game server protocols
  • Better networking handling

1.4 Definitions

MUST is a mandatory specification.

SHOULD is a highly recommended specification.

COULD is a recommended specification (optional).

1.5 Overview


# 2 The Login Server v2

2.0 Pre Phase

  • Refactor the source code. [Done]
  • Remove useless dependencies. [Done]

2.1 First Phase

  • 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.

2.2 Second Phase

  • 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.

Third Phase (final)

  • Release first version as L2J_LoginServer2_RC1.

# 3 Functional Requirements

3.1 Multiple game server protocol support

The login server MUST support all official L2J game server protocols. The final version COULD support other non-official (forks) L2J game server implementations.

3.2 Better networking

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.