Giter Club home page Giter Club logo

mineserver's Introduction

Mineserver

by Fador & Nredor and others

Custom Minecraft server software written in C++.

You can find the core team from #mineserver @ irc.freenode.net Also mail to [email protected] will reach us.

Copyright (c) 2010-2016, The Mineserver Project

NOTICE: Server still lacks features compared to original minecraft server.

Supported platforms

  • Linux (CMake)
  • Windows (VS2013 project included, CMake not tested)

Server has also been tested to build on Mac OS X and FreeBSD/PCBSD but we do not officially support those.

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

Important: The language is C++11, so you will need a reasonably modern C++ compiler. MS Visual C++ 12 and GCC 4.8 should be sufficient. The build system requires cmake.

Supported Minecraft version

  • Working with 1.8.9 client (protocol 47)

Features

  • Plugins (chatcommands, filelog, nether, passivemobs, etc..)
  • NBT parsing/saving
  • Lightmap generation
  • Config file
  • Normal mining/item spawning/item pickups
  • Basic physics for gravel and sand
  • Physics for water (currently revising this)
  • Flatland and terrain map generation (Also biomegen!)
  • Working chests, furnaces & signs
  • User validation from minecraft.net
  • Protocol Encryption

Configuration Notes

An example config.cfg file is located in the files subdirectory.

The config file sets three path names and one file name which are relevant to the server; with their example values they are:

system.path.data    = "files";
system.path.plugins = "plugins";
system.path.home    = ".";
system.pid_file     = "mineserver.pid";

These paths may be either absolute or relative. The server requires a set of configuration files which are located in the files subdirectory of the distribution.

The plugin binaries must be manually placed in the appropriate location for the server to find them.

Bug Tracker / To Do / Roadmap

We use GitHub issue tracker and milestones. Please check the wiki pages for details about the project status and development plans. Check the fork network for the latest development status.

Compiling

Mineserver requires the following libraries:

  • zlib 1.2.5

  • libevent 2.0.x

  • libnoise 1.0

  • openssl/libssl

  • pthread

  • Installing on Debian and Ubuntu:

    sudo apt-get install libssl libssl-dev libevent-2.0 libevent-dev zlib1g zlib1g-dev libnoise-dev

  • Installing on CentOS and RHEL

    # Install EPEL (Extra Packages for Enterprise Linux) sudo su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm' sudo yum install git libevent libevent-devel zlib zlib-devel libnoise-dev

  • Installing on FreeBSD / PCBSD

    sudo pkg_add -r libevent

  • Installing on Mac OS X

    • Install libevent using your favourite tool, e.g., homebrew, fink or macports.
    • Installing libnoise can be painful. Howerver, there is a homebrew formular on krono's homebrew fork.

    So for homebrew do

    brew install libevent libnoise

Compiling using Linux (cmake & make & g++):

  • Download and extract source or use git clone git://github.com/fador/mineserver.git
  • Go to mineserver directory
  • Run cmake .
  • Run make all
  • Run server with cd bin && ./mineserver

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

  • Download and extract source or use git clone git://github.com/fador/mineserver.git
  • Go to mineserver directory
  • Run cmake .
  • Run gmake all
  • Run server with cd bin && ./mineserver

Compiling using Windows (VS2013): (Might be outdated)

  • 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 2.0.x

  • Download libnoise 1.0 and add header/library files to project

  • Add libevent library to project (libevent2.lib)

  • Build

  • Run mineserver.exe

  • Build Pack also available for easy compiling

An example using commandline compiler available at http://www.microsoft.com/express/Windows/ Please change the ZLIB_INC_DIR, LIBEVENT_INC_DIR, ZLIB_LIB_DIR and LIBEVENT_LIB_DIR to those you keep the includes/libs.

call "%VS120COMNTOOLS%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 libevent2.lib Ws2_32.lib /link /OUT:mineserver.exe /LIBPATH:"ZLIB_LIB_DIR;LIBEVENT_LIB_DIR"

mineserver's People

Contributors

fador avatar deoxxa avatar louisdx avatar andrewfenn avatar nredor avatar winex avatar pacino avatar bakkdoor avatar bdolgov avatar poizan42 avatar carlbennett avatar donno avatar prophile avatar darvell avatar fogwraith avatar eximius avatar dilaz avatar fredreichbier avatar d33pfreeze avatar krono avatar elderthorin avatar joehillen avatar mastercj avatar odiumxxx avatar lunnova avatar vargad avatar mkroman avatar nizox avatar jgrip avatar mitchellmarx avatar

Watchers

12345 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.