Home > craftd

craftd

Craftd is a project mainly written in C and JAVASCRIPT, based on the View license.

kev009 development repo. Canonical repo @ craftd/craftd (see project URL)

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/