A simple server implementation for Nostale (an MMORPG) written in TypeScript using Bun runtime. This project provides both a login server and a world server with packet encryption/decryption support.
Warning
This is NOT an alternative to OpenNos or any other NosTale server emulator. This is simple dummy server that only know how to send and receive packets. There is no session management, database or any state management. I use it to prototype some stuff without spinning up whole server.
- Bun runtime (latest version recommended)
- Node.js compatible environment
git clone https://github.com/GorlikItsMe/nostale-simple-server.git
cd nostale-simple-server
bun installbun startThis will start both login server on port 4000 and world server on port 1337.
$tp <mapId> <x> <y>- Teleport to specified map coordinates- Example:
$tp 1 77 119
- Example:
- Uses Windows-1252 encoding for packet communication (via
iconv-lite)
- Custom encryption/decryption streams for both login and world servers (see
src/nostaleCryptographyfolder)
- Default character ID:
10000 - Default character name:
TestUser - Default spawn location: Map
9998at coordinates(58, 37)
- The login server automatically stops when a client disconnects
- The world server automatically stops when a client disconnects
- Packet logging is enabled by default (shows
[RECV]and[SEND]messages)