This is a headless (i.e. no graphics) application that runs the game as a server instance. It can be administrated through a REST-based interface or a simple frontend that wraps around these API methods. Administration comprises starting/stopping the host, configuring modules and the like.
In-game management (e.g. removing users from a running game) should be performed through users with admin rights.
This facade can be set up using Gradle as explained in the Terasology wiki. Here is a step-by-step summary:
cd
to the root of your Terasology workspace (the directory where you cloned the main repository MovingBlocks/Terasology).- Execute
./gradlew fetchFacadeServer
; it will automatically clone this repository in thefacades/Server
directory. - Keep in mind that while the default branch on GitHub is
develop
, Gradle pulls themaster
branch. So to use the latest available version or work with it, you may consider switching to thedevelop
branch:cd facades/Server
git checkout develop
cd ../..
- Run
./gradlew jar
- To start a server using FacadeServer, execute
./gradlew facades:FacadeServer:run
.
The web server exposes access to the various resources both with an HTTP REST API and over WebSocket. More information is available in the docs.md file at the root of this repository. Also, here is a direct link to view online the Swagger/OpenAPI specification of the HTTP API.
The server is able to support https connections. A self-signed certificate is provided in a keystore file, which will make browsers refuse to connect unless an exception is made. To avoid this problem, you can obtain a valid certificate, convert it to jks format, and replace the keystore.jks file.
Here is the code for a web and mobile frontend to FacadeServer.
This module is licensed under the Apache 2.0 License.