Skip to content

lebedynskyi/L2Server

Repository files navigation

L2Server

Yet another try to implement Login and Game Server for Lineage 2 Interlude client.

The main goal is to practice of making architecture for big application with networking and multithreading. And now I get stuck with it. The main issue with cyclic dependencies

Client -> Player -> World -> Player -> Client

Maybe I need to introduce some Manager / Handler and World object should become simple Data class

The list of main features will be implemented ASAP:

  • User login
  • Login Server <-> Game Server communication (Partially done)
  • Character creation and choosing of already created
  • Entering world
  • Movement and saving its position without movement AI / tasks
  • Chat of all types without validation

The list of additional features:

  • NPC spawn
  • Inventory
  • Equipment

Tech TODO list

  • After adding announcer something wrong with sending packets to some clients
  • Sending ServerStatusUpdate via some manager ?
  • New naming for clients and servers
  • Selector should be able to receive list of packets? 1 packet to avoid race condition ?
  • Validation of logged-in user via Login Server <-> Game Server communication
  • Remove user from login lobby after connect to game server. Need to finish bridge communication
  • Remove user from game world after logout
  • Implement packet for logout
  • Select and save account for game client after connect to game server
  • Some timer to check players in lobby who does not send any commands. 10 - 15 sec?

About

Yet another try to implement simple L2 Server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages