Custom Minecraft Alpha server software written in C++ for Windows and Linux
C++ C
Pull request Compare This branch is 2050 commits behind fador:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


by Fador & Nredor and others

You can find the core team from #mineserver @
Also mail to will reach us.

Copyright (c) 2010, The Mineserver Project

Custom Minecraft Alpha server software written in C++.

== NOTICE ==

Currently in (early) development. (Alpha stage)
Server still lacks some critical features and should be only used for testing.

Tested to build on

  • Windows (VS2010 and VS2008 projects included)
  • Linux (Makefile included)
  • Mac OS X
  • FreeBSD / PCBSD

We are trying to minimize memory and cpu usage compared to original Java server.


  • Various chat commands, more to come..
  • NBT parsing/saving
  • Lightmap generation
  • Config file
  • Normal mining/item spawning/item pickups
  • Basic physics for gravel and sand
  • Experimental physics for water and lava
  • Flatland map generation
  • Working chests
  • Terrain generation

ToDo (Arranged by priority)

  • Getting furnaces and signs to work (In progress)
  • Plugin support (and Lua plugin for scripting)
  • Multithreading
  • Server console
  • Growing trees and cactuses
  • One-click update
  • and more

Chat commands

For all players

  • /players : Lists online players
  • /about : Server name & version
  • /rules : Shows server rules
  • /home : Teleports user to map spawn location
  • /kit (name) : Gives kit. Items for kit defined in config.cfg with kit_(name) using itemId's

Admin only

  • %text : Servermessage
  • &text : Admin-only message
  • /kick nick (kickmsg) : Kicks user with optional kick message
  • /ban nick : Bans (and kicks if online) user from server
  • /unban nick : Lift a ban
  • /save : Manually save map to disc
  • /ctp x y z : Teleport to coordinates (eg. /ctp 100 100 100)
  • /tp nick : Teleport yourself to nick's position
  • /tp nick1 nick2 : Teleport nick1 to nick2
  • /reload : Reload admins and configuration
  • /give nick id/alias (count) : Gives nick count pieces of id/alias. count = 1 is used if it is not provided. Support for over 64 items. Aliases configurable with item_alias.cfg
  • /rules nick : Shows server rules (from rules.txt) to nick
  • /gps (nick) : Without nick shows own coordinates. With nick shows nick's coordinates
  • /settime (time) : Sets server time. time = 0-24000 (0 and 24000 is day and about 15000 is night)


Depends on (and tested with):

zlib 1.2.5
libevent 1.4.14b
libnoise 1.0

  • Installing on Debian and Ubuntu: (For Ubuntu libevent1 -> libevent-1.4-2)

    sudo apt-get install libevent1 libevent-dev zlib1g zlib1g-dev libnoise-dev

  • Installing on CentOS and RHEL

    # Install EPEL (Extra Packages for Enterprise Linux)
    sudo su -c 'rpm -Uvh'
    sudo yum install git libevent libevent-devel zlib zlib-devel libnoise-dev

  • Installing on FreeBSD / PCBSD

    sudo pkg_add -r libevent

Compiling using linux (make & gcc):

  • Download and extract source or use git clone git://
  • Go to mineserver/src/ directory
  • Run make
  • Run server with ./mineserver

Compiling using FreeBSD / PCBSD (gmake & g++):

  • Download and extract source or use git clone git://
  • Go to mineserver/src/ directory
  • Run gmake
  • Run server with ./mineserver

Compiling using windows (VS2010/VS2008):

  • Download and compile zlib or use pre-built binaries
  • Add zlib libraries to project (zlibstat.lib or zlibwapi.lib which requires also zlibwapi.dll in the same dir with the executable)
  • Download and compile libevent
  • Download libnoise 1.0 and add header/library files to project
  • Add libevent library to project (libevent.lib)
  • Build
  • Run mineserver.exe

    An example using commandline compiler available at Please change the ZLIB_INC_DIR, LIBEVENT_INC_DIR, ZLIB_LIB_DIR and LIBEVENT_LIB_DIR to those you keep the includes/libs.

    call "%VS100COMNTOOLS%vsvars32.bat" cl /I"ZLIB_INC_DIR;LIBEVENT_INC_DIR" /W3 /WX- /O2 /D ZLIB_WINAPI /D WIN32 /D NDEBUG /D _CRT_SECURE_NO_WARNINGS /EHsc *.cpp zlibwapi.lib libevent.lib Ws2_32.lib /link /OUT:mineserver.exe /LIBPATH:"ZLIB_LIB_DIR;LIBEVENT_LIB_DIR"