MCCHost is a ClassiCube Server Software
Clone the latest MCCHost from https://github.com/rdebath/mcchost
Compile the sources using the make
command.
On a Debian or Ubuntu based system (Any CPU) you may need to install dependencies using the command
apt install build-essential liblmdb-dev zlib1g-dev
To run on Windows, install Microsoft WSL 2 and choose a Debian or Ubuntu distribution.
Alternatively, the Dockerfile
can be used to create an image from the repository on either Linux or Windows hosts.
Other Unix derived OS's should be possible if the dependancies (ZLib, LMDB) are available. Note if pthread_mutex.c
fails to compile or gives the error Lockfile "system/system.lock" failed with EINVAL
, add the option USE_PTHREAD=
or delete pthread_mutex.c
, recompiled and try again. (For example FreeBSD's pthread locking does not work)
If LMDB is not available (or disabled with make USE_LMDB=
) certain commands will fail to work correctly.
By default the server supports 10bit block numbers; to reduce the uncompressed map size, and client memory allocation, this can be limited to 8 bits by the define EIGHTBITMAP
add this in the DEFS
variable in the form make DEFS='-DEIGHTBITMAP'
.
If you run ./server -tcp -logstderr
the server will be available for direct connection on the standard port 25565.
By default anyone connecting from localhost will be considered and admin. As such you can use /setrank youruser admin
to make this work from any IP. If you can't arrange a connection from localhost the file user/youruser.ini
is a text file where the line UserGroup = 1
can be changed to UserGroup = 0
to set admin.
The files for the server are normally stored in ~/.mcchost
but if it's started as root it'll change it's user id to games
and use /var/games/mcchost
. This directory can be configured by using the -cwd
or -dir [directory]
options.
To run the server in the background omit the -logstderr
option and add -detach
.
Several options can be set from the command line (see: ./server -help
) or more in the server.ini
file.
Only the -dir
option and the -port
option need to be configured from the command line and only if you are not using the defaults.