-
-
Notifications
You must be signed in to change notification settings - Fork 30
Home
Welcome to the osIROSE-new wiki!
This wiki is written to help you get your way around the code base. Remember there is always a gitter available where you can ask your questions if the wiki isn't enough.
All of the code is contained in the src/
folder. The 3rdparty/
folder contains all of the dependencies the whole project needs. The Database/
folder contains the database schema. the scripts/
folder contains all of the scripts to install dependencies & compile the project.
The project is separated in 10 parts:
- Database (Database/) That's the database schema and basic item information
- Scripts (scripts/) That's the lua code for gameplay scripting
- Integration testing (src/bot/) That's the code for a pseudo client that does integration testing against the server
- Core (src/core/) The core code that contains all of the shared code (database, factories, threading, networking and so on)
- RoseCommon (src/rosecommon/) All the code common to all three servers that is rose-specific
- LoginServer (src/login/) The login server is coded here
- CharServer (src/char/) The character server is coded here
- WorldServer (src/map/) The world server
- NodeServer (src/node/) The node server
- Tests (src/tests/) All of the unit tests for the codebase
The client for the game is 112_112_na, you can find it here. This client needs to be patched with the latest patch that can be found here. To run the game, there is a start.bat file where you'll have to change the IP address to the server IP. Then run that file.
To create an account, you'll have to use the SQL function create_account(username, password);
once the database is created. You can also set createAccountOnFail
to true in the config file, which will create an account when you fail to login the first time. Beware of creating accounts when not properly writing the username/password when logging in. This option should be disabled in production and users should go through a web-based portal instead.
It's really simple! We are trying to replicate the official server for now. This means that the client should perfectly run. One easy thing is to test around, see on the server logs which packet isn't implemented and implement it. Ask on gitter if you don't know what to do :)