Skip to content
/ craftd Public
forked from craftd/craftd

High performance and low overhead Minecraft server

License

Notifications You must be signed in to change notification settings

meh/craftd

 
 

Repository files navigation

Welcome to craftd!  Up to date documentation lives at:
http://mc.kev009.com/craftd/

Need help? Want to help? Come talk! irc.freenode.net #craftd.

This is early, pre-alpha software.  If you aren't familiar with autotools, 
please wait until binary packages are available.

Dependencies:
libevent 2.0.9+ - http://monkey.org/~provos/libevent/
zlib 1.2.3+ - http://zlib.net/
jansson 2.0+ - http://www.digip.org/jansson/
pthreads

Successfully built on:
Linux - GCC, LLVM/clang
FreeBSD - GCC
IRIX - MIPSpro (Big-Endian functionality verified)
AIX - xlC, GCC (Big-Endian functionality verified)
Windows - MinGW - Needs rework.  Priority is getting basics working on UNIX.
Windows - Cygwin (works great without modification)

== Users ==
Ubuntu users can try to compile from the latest source tarball available from this
server: http://bb.tkte.ch/job/craftd-ubuntu/ or use git to download from
git://github.com/kev009/craftd.git.

Keep in mind that this is bleeding edge and may not always be stable or usable.

Ruby and Rake are the suggested way of building craftd, although a statically generated
Makefile and configure script are shipped if you cannot/do not want to install Ruby and Rake.

If you need to compile from the git repo, don't forget to run ./autogen.sh
before heading into configuration/compilation.

Once you have the source prepared you can run rake install OR ./configure, make, and make install.
By default, the server binary is located at /usr/local/bin/craftd.

At the moment craftd does not generate world data for a new server. You will need to
provide world data from another server to start.

== Developers ==
Please contact me and let me know what parts you intend to work on first.

NOTE: You must run ./autogen.sh after checking out the git repo to generate a
configure script and pull the submodules.

Use `git pull` for being up to date. Should you run into build issues, try running
`make distclean` and see if it helps.

Developer Documentation:
Coding style and architecture notes are on the wiki - 
http://mc.kev009.com/wiki/Craftd:Main_Page

You should have a good understanding of libevent-2.
http://www.wangafu.net/~nickm/libevent-book/
http://mc.kev009.com/libevent - Up to date doxygen

Bundled Libs:
bstring - Safer C strings - http://bstring.sourceforge.net/
klib - a standalone and lightweight C library

Protocol reference:
http://mc.kev009.com/wiki/

Continuous Integration Builds;
http://bb.tkte.ch/job/craftd-ubuntu/

Also recommended books:
* Advanced Programming in the UNIX Environment - Stevens, et. al
* Programming with POSIX Threads - Butenhof
* UNIX Network Programming, Vol. 1 - Stevens, et. al
* A download of POSIX.1-2008 - http://www.unix.org/2008edition/

About

High performance and low overhead Minecraft server

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 86.1%
  • C++ 11.2%
  • Ruby 1.5%
  • Other 1.2%