Getting Started

Here are some checklists you can run through of tasks that will get you up to speed with WorldForge as quickly as possible. Pick the one that is right for you, and follow the steps as completely as possible. You should find that as you go you will learn about WorldForge much more quickly that by reading huge piles of boring documentation.

New Programmers Checklist

New Programmers Checklist

Get access to a Linux system.
The core WorldForge system runs on Linux, MacOSX and Windows, and may well run on other unix like systems, but getting involved in development is easiest if you are working on Linux, as that is the platform of choice of most of our developers. This is not to say you must develop on Linux. We have developers who primarily use other systems, but life is much easier if every developer at least has access to a Linux system to check stuff on. Most of the WorldForge C++ code uses standard GNU tools like autoconf and automake to manage the build, so it helps to be familiar with these. Fedora Core Linux has been the most popular Linux among WorldForge developers recently, and we also recommend Ubuntu, but most popular versions should be fine.
The best thing to do is get Linux installed on a machine you own, so you have admin rights, and can work around any minor issues. It does not need to be your main desktop or laptop machine, and in many ways your Linux system will not even need to have a monitor attached, as you can do almost everything by logging in remotely.

Fetch code and build.
The worldforge project contains a large number of libraries and clients, which can be confusing for a newcomer. To alleviate this we provide a script which will automatically fetch and build all the needed libraries used by Worldforge, as well as the Cyphesis server and the Ember and Sear clients. This method is very much preferred for any new developer, as it oftentimes can be time consuming to get all of the different libraries built in the correct order. Instructions on how to use Hammer can be found here.
However, if you want to fetch and compile everything yourself we provide the instructions for this below.
Get the code from our repositories.
Follow the instructions on the source control pages to get anonymous access to our code repository and version control server. All current active components are hosted on our git server, but we also keep a CVS server around for legacy and inactive components.

Build and install the libraries.
Developers and users are encouraged to install WorldForge libraries from the binary packages available from our download pages, or as part of many Linux distributions. As a developer, you should find this the best and easiest way to keep up to date with the libraries, and help us test the packages.
However, building all the libraries from git source will provide an invaluable opportunity to learn how the WorldForge system is put together. The libraries should be built in the following order, but feel free to change this order if you want to find out how the dependencies work.
Atlas-C++ skstream Varconf WFMath Mercator Eris Sage
The libraries section has details of what these libraries do, and you should make yourself familiar with their roles.

Build and install a WorldForge server.
I assume that by now you have tried out either Ember or Sear, the two clients available in easy to run downloadable packages. Later in this checklist you will build these from source, but doing either is quite involved. Building a server is easier, but just as important. It is much easier to work on development if you can test your changes quickly, thoroughly and without disrupting public servers by using a server running on your own machine. Cyphesis is the most stable and usable server, and the only own in active development. Instructions for building from source are available in the README file in the source directory, and on its page on the website. It is easiest to build and run on Linux, but has also been tested on MacOSX and on Windows using MingW. Once you have it installed and running, try connecting to it using Ember and Sear which you should have installed already.