OrionAlpha - A Nexon Replica Emulator Project
- You can download the game and client here
- To emulate a korean locale in the client, you can download LocaleEmulator here
- You can download the named client IDB here
- Java JDK (11 or higher)
- javax.json (or Java EE)
- Netty (4.1.31 or higher)
- HikariCP (3.1.0 or higher)
- MariaDB Connector/J (2.2.3 or higher)
- slf4j (1.7.4 or higher)
- Jython (2.7.1 or higher)
- favr.lib.BCrypt (0.9.0 or higher)
The OrionAlpha Emulator is split up into two parts: Login, and Game, each executing on their own thread.
Login is the central server which will have connectivity to each world and can migrate you back and forth.
Game is designed to be each world, and takes the JVM argument -DgameID=X to define which world it is. Each Game JVM that controls the world will also control all of its channels (thus, no multi-jvm here).
Located within the root of the emulator are a few configuration files:
- Game0, Game1, etc is used to configure each World.
- Login is used to configure the Login.
- Shop is used to configure the Cash Shop.
- Database is used to configure the connection to the database.
The configuration is done within JSON; each property is defined as a key (string), and a value (int or string). Below will further explain the defintions of most of the properties used.
Login/Game/Shop:
port-> The port to be binded for the server's connection acceptor.centerPort-> The private port of your login server that connects JVMs together.PublicIP-> The public IP address users will connect to.PrivateIP-> The private IP address that connects the JVMs together.
Database:
dbPort-> The port to connect to your database.dbGameWorld-> The Schema name of the active database that the emulator connects to.dbGameWorldSource-> The IP/hostname to connect to your database.dbGameWorldInfo-> The username/password of your database, separated by comma. (e.g "root,password")
Game:
gameWorldId-> The ID of the world (0 = Scania, 1 = Bera, etc).channelNo-> The number of channels for the world.incExpRate-> The server's Experience Rate modifier. We use Nexon's standard. (e.g 100 = 1x, 250 = 2.5x, etc)incMesoRate-> The server's Meso Rate modifier (Nexon standard).incDropRate-> The server's Drop Rate modifier (Nexon standard).worldName-> The name of the world. This is sent to and displayed in the login server.
Even knowing there's barely anything to edit in such an early version, below are helpful client edits.
If you intend to use OrionAlpha, you can change the IP in either our client or the clean client.
- Our client's default IP is
127.0.0.1 - Nexon's default IP's are
218.153.9.172and218.153.9.173
Allow multiple clients to be open/executed simultaneously.
- Change the instruction at address
005872D9tojmp 0058732D
Forces the client to execute only in Window Mode, and not Full Screen.
- Change the instruction at address
00589F92tomov dword ptr [esp+0x84], 0x0
Allows you to make the dimensions of the game bigger, for example 1024x768.
- Change the instruction at address
0058A05Etopush 0x320where0x320is the Width - Change the instruction at address
0058A04Ftopush 0x258where0x258is the Height
Allows you to send the same message into the chat more than 3 times without any issue.
- Change the instruction at address
00444261tojmp 004442A4
Allows you to spam messages constantly without having to wait 2 seconds.
- Change the instruction at address
004442C8tojmp 0044431B
Allows you to type as many characters as you want into a single message, literally.
- Change the instruction at address
0051E38Dtomov dword ptr [esp+0xC8], 0xFFwhere0xFFis the maximum
Allows you to enter curse words without getting a pop-up and restricting your message from sending.
- Change the instruction at address
004441B8tojmp 004441ED
Allows you to disable the ad balloons after closing the client because they're annoying.
- Change the instruction at address
005878A5tonop
Allows you to drop cash NX items like any other item.
- Change the instruction at address
0047965Atonop - Change the instruction at address
00479666tonop
Restores the ability to allow GM/Admins to drop items, mesos, etc.
- Change the instruction at address
004795D2tojmp 004795E9 - Change the instruction at address
005002E7tojmp 00500318
Allows you to extend the damage cap up to a maximum of 32,767.
- Change the instruction at address
005C3E98to13337.0where13337.0is the new cap
Allows you to drop meso bags exceeding 50,000 by setting a new cap.
- Change the instruction at address
005003CEtocmp eax, 0xC350where0xC350is the new max - Change the instruction at address
005003D5tomov eax, 0xC350where0xC350is the new max