Centuria is a work-in-progress server emulator for the now-defunct MMORPG Fer.al. Developed by a group of developers from the Fer.ever project, Centuria is a fan-run server designed to bring back the MMO game that recently shut down.
To build Centuria you will need to have Java 17 JDK installed. Centuria is build using gradle.
On windows, run the following commands in cmd or powershell::
Download dependencies:
mkdir deps
git clone https://github.com/SkySwimmer/connective-http deps/connective-httpSet up a development environment (optional):
.\gradlew eclipseBuild the project:
.\gradlew buildOn linux, in bash or your favorite shell, run the following commands: (note that this requires bash to be installed on OSX, most linux distros have bash pre-installed)
Configure permissions:
chmod +x gradlewDownload dependencies:
mkdir deps
git clone https://github.com/SkySwimmer/connective-http deps/connective-httpSet up a development environment (optional):
./gradlew eclipse createEclipseLaunchesBuild the project:
./gradlew buildAfter building, you can find the compiled server in build/Installations, you can run the server by starting centuria (either the shell or batch script depending on your OS)
Due to the lack of a easy-to-use launcher, hosting a server yourself may prove difficult. You will need to edit your client's Fer.al_Data/sharedassets1.assets and swap out the server endpoints, however this can be tricky, you may run into string length issues. (a guide will be made in the near-future)
Centuria comes with a few client mods in its main repository.
This module is designed by Owen to swap out the game asset URLs, its still a bit untested here and there but seems to work.
(written by Owen) You will need a unhollowed version of the fer.al game assembly (Assembly-CSharp.dll) to build / run the client mod. The hollowed version of the fer.al assembly is generated by the BepinEX client when first ran, in "client\build\BepInEx\unhollowed". Place it into the "clientmods\org.asf.centuria.client.plugin\lib\feral" in this repository to be able to build the client mod.
I have plans to write the plugin to be able to self-retrieve the assembly when ran. But in order to build it, you MUST manually obtain and move the fer.al game assembly.
After building the client mod, you should find the dll in bin/Debug/netstandard2.1, copy the dll to a folder named org.asf.centuria.client.plugin in the bepinex plugins folder and it should load.