Thirty is a ClassiCube (Minecraft Classic) server written in C. It is available under the AGPL v3.
- Support for Windows, Linux, macOS, BSDs
- Multiple world generators
- Some Classic Protocol Extensions support
- WebSocket support
See the docs folder for documentation.
Thirty requires Meson to generate build files, which in most cases will be for ninja.
zlib is required for compressing the world for sending to clients and saving to disk.
libcurl is used for heartbeats (updating the server on the ClassiCube server list).
Mercurial is used to keep the source code and is required to clone the repository.
On Windows, compiling with MSYS2 is recommended. The MinGW64 and clang64 environments work; clang seems to work better for debugging.
pacman -S mercurial $MINGW_PACKAGE_PREFIX-toolchain $MINGW_PACKAGE_PREFIX-meson $MINGW_PACKAGE_PREFIX-ninja $MINGW_PACKAGE_PREFIX-zlibzypper in mercurial gcc meson ninja zlib-ng-devel libcurl-devel readline-develapt install mercurial build-essential meson ninja-build zlib1g-dev libcurl4-gnutls-dev pkgconf libreadline-devapk add --update mercurial alpine-sdk zlib-dev samurai meson curl-dev readline-devhg clone https://dev.firestick.games/sean/thirtymeson setup build
cd build
ninjaAn executable named thirty will be output to the build directory.
You can use [meson install] to install Thirty to PREFIX/bin/thirty and its config to PREFIX/etc/thirty.ini.
If unspecified, PREFIX will likely be /usr/local.
An experimental Docker image is also available from this project's container registry.
It takes a volume, mounted at /data, which stores the configuration, levels, and logs.
Since no release of Thirty has been made yet, the only tag available is dev, which points to the latest changeset.
To use the Docker image, first choose a directory where you want the aforementioned data to be stored.
Then, copy the default settings.ini to that location, and edit it to your liking.
Use a Docker command like below, replacing YOUR_DATA_DIRECTORY with the directory on your real filesystem you chose to store the data.
docker run -it -v YOUR_DATA_DIRECTORY:/data registry.firestick.games/sean/thirty:devA package for Thirty is available on the openSUSE Build Service in my personal project. This package is always built from the latest revision in the default branch from Mercurial.
Use the opi tool to install it. Select the home:DrinkyBird repository.
d349ee239370:/ # opi thirty
Searching repos for: thirty
1. thirty
Pick a number (0 to quit): 1
You have selected package name: thirty
1. home:DrinkyBird ! | null.186.3862df3bcfa9 | x86_64
Pick a number (0 to quit): 1