HorizonXYZ/Horizon is a robust and versatile C++ project designed to supersede older Ragnarok Online emulators, namely from the eAthena family.
Built with the need for more customizability in mind, Horizon offers a comprehensive solution for the extended functionality of RO features such as the following, through the use of Lua (our scripting language) :
- Skills
- Status Effects
- Combat and damage components
- In-game At-commands
- Development oriented Script-commands
- Server Administration based Console-commands
- Game Administration based Web-commands
The project leverages advanced C++ features and OOP design principles and follows best coding practices to ensure high performance and maintainability. Each feature in the project is carefully designed with software design principles such as -
It includes a variety of features such as a -
- Multithreaded infrastructure
- Packet-based networking system
- Database Support
- Lua scripting engine
- Console interface
making it a go-to choice for server owners that want a modern industry-standard solution for their RO server. It is aimed to be a high-end solution for RO server owners catering to larger user populations, allowing a seamless and uninterrupted support of thousands of players at once.
Whether you're looking to build a small server that offers a variety of customizations, or a large one, HorizonXYZ/Horizon provides the tools and flexibility you need to achieve your goals.
The project is open-source and encourages contributions from developers who are interested in enhancing its capabilities and reach.
Here are some videos showcasing the project:
To get a local copy up and running, follow these steps:
- git
- g++ or clang (version 4.5 or newer, recommended 5.0 or newer)
- CMake 3.7+
- Boost v1.60+
- Sol2
- Zlib
Windows | Linux | |
---|---|---|
RAM For Compiling | 8192MB | 4096MB |
RAM For Running | 2048MB | 2048MB |
CPU | 2 Cores | 1 Core |
Windows | Linux | |
---|---|---|
RAM For Compiling | 16384MB | 8192MB |
RAM For Running | 4096MB | 4096MB |
CPU | 4 Cores | 2 Cores |
- Read the Windows Installation Guide
- Read the Linux Installation Guide
After compiling and setting up the project, you can start the servers with the following command:
auth.exe --with-config="config/auth-server.lua"
char.exe --with-config="config/char-server.lua"
zone.exe --with-config="config/zone-server.lua"
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a pull request
Distributed under the GNU General Public License v3.0. See LICENSE
for more information.