Extensible isometric game client and server developed in Kotlin with libGDX.
This repository is part of the Selene project.
- IntelliJ IDEA Community Edition or another IDE of your choice
- Open the project directory in IntelliJ IDEA
- Confirm the Gradle import if prompted
Normally, the launcher takes care of populating the client bundles. When launching the client from our IDE, it's up to us to set things up manually.
- Create a folder called
bundlesat the root of the project - Place any bundles you want to load into the
bundlesfolder
For example, to set up a Gobaith or VBU server, you could use the following bundles:
git clone https://github.com/SeleneWorlds/Moonlight-Inventory.git moonlight-inventory
git clone https://github.com/SeleneWorlds/Illarion-Gobaith-Scripts.git illarion-gobaith
git clone https://github.com/SeleneWorlds/Illarion-Gobaith-Map.git illarion-gobaith-map
git clone https://github.com/SeleneWorlds/Illarion-Gobaith-Data.git illarion-gobaith-data
git clone https://github.com/SeleneWorlds/Gobaith-Reborn-Client.git gobaith-reborn-client
git clone https://github.com/SeleneWorlds/Illarion-Gobaith-Assets.git illarion-gobaith-assets
# or
git clone https://github.com/SeleneWorlds/Moonlight-Inventory.git moonlight-inventory
git clone https://github.com/SeleneWorlds/Illarion-Script-Loader.git illarion-script-loader
git clone https://github.com/SeleneWorlds/Illarion-API.git illarion-api
git clone https://github.com/SeleneWorlds/Illarion-VBU-Scripts.git illarion-vbu
git clone https://github.com/SeleneWorlds/Illarion-VBU-Map.git illarion-vbu-map
git clone https://github.com/SeleneWorlds/Illarion-VBU-Data.git illarion-vbu-data
git clone https://github.com/SeleneWorlds/Gobaith-Reborn-Client.git gobaith-reborn-clientNote: For VBU, you would also need an illarion-vbu-assets bundle, which cannot be redistributed
due to licensing restrictions. For Gobaith, we have compiled an open source alternative. There is also
Illarion-Converter, which you can use to extract a proprietary asset bundle for personal use.
A run configuration for IntelliJ is included. The server's working directory is located at server/run.
The server expects a server.properties file in its working directory.
save_path=save
bundles_path=../../bundles
port=8147
bundles=illarion-gobaith,illarion-gobaith-data,illarion-gobaith-map
# or
# bundles=illarion-vbu,illarion-vbu-data,illarion-vbu-map,illarion-script-loaderSet SENTRY_DSN in the server process environment to enable error tracking. Without a DSN,
the server runs with Sentry reporting disabled. You can also set SENTRY_ENVIRONMENT
(for example, production) and SENTRY_RELEASE to identify the deployment.
export SENTRY_DSN="https://public-key@your-sentry-host/project-id"
export SENTRY_ENVIRONMENT="production"
export SENTRY_RELEASE="selene-server@your-version"The server uses Sentry's Log4j2 integration.
ERROR and FATAL logs, including logged Lua failures, become Sentry events; INFO and higher
logs provide breadcrumbs. Uncaught JVM exceptions are captured by the SDK, which flushes
pending events on JVM shutdown. Existing console and file logging remains available.
Sentry also supports sentry.properties in the working directory and -Dsentry.dsn=...
JVM properties for configuration.
Example run configurations for IntelliJ are included. The client's working directory is located at client/run.
The run configuration assumes you followed the example above. If you are using bundles that differ from the example, you will need to update the bundle mappings in the launch arguments of the run configuration.