Skip to content

artemijan/L2Shablya

Repository files navigation

L2Shablya ⚔️ 🇺🇦

Shablya

Inspired by the swift, light, and deadly Kozak weapon, L2Shablya embodies precision and speed in every line of code.

Disclaimer: The name "Shablya" reflects the project's focus on performance and elegance, paying homage to the iconic Kozak weapon. It is used here metaphorically and holds no association with real-world conflict or violence.

Current state: Under development

About: This implementation is based on L2J, e.g. I reimplement everything in rust from java + I optimize things, like DB denormalization for performance boost, removing unnecessary operations and so on.

Status

  • codecov
  • Builds and tests

Always remember "Having tests opens doors to refactoring! More tests - more doors are open."

Ready features:

  • Login server
    • Login process + auto create accounts
    • Game server registration
    • Kicking player
    • CMD login
    • EBPF filtering of banned IPs
  • Game server
    • register o login server
    • player packet encryption support (shifting key)
    • player can select game server
    • player can create char
    • player can delete char
    • player can restore char
    • player can select char
    • player can enter the game world
    • player can move
    • player can select target
    • player can send chat messages
    • ..... a lot more

The client

Here is google drive link where you can download client. In order to play, you have to change ip in L2.ini file.

Local deployment

  • create .env file
DATABASE_URL=sqlite://local.sqlite?mode=rwc
  • install cargo and rust
  • install sea-orm-cli
cargo install sea-orm-cli
  • run migrations
sea-orm-cli migrate up
  • run login server
cargo run -p login
  • run game server
cargo run -p game

About

Lineage 2 game server emulator written in rust

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages