====== Compiling MCServer using GCC on Linux ======
===== Installing GCC =====
On Debian/Ubuntu
<code>
apt-get install g++
</code>
On CentOS/Fedora
<code>
yum install gcc-g++
</code>
===== Getting the sources (for the first time) =====
To download the sources, you need to use a Subversion client. On most Linux systems, it is available by default, to check whether it is ready on your system, enter this command:
<code>
svn --version
</code>
This will either print the Subversion client version, or an error message saying that svn is an unknown command. Use your distro's package installer to install Subversion. For example on Ubuntu, the command is
<code>
sudo apt-get install subversion
</code>

Once you have the Subversion client, make a folder where MCServer will be stored, and go to that folder:
<code>
mkdir MCServer
cd MCServer
</code>

Finally, run the Subversion client to get the sources:
<code>
svn checkout https://mc-server.googlecode.com/svn/trunk/ .
</code>
This will take a few minutes and will spit out tons of filenames. Congratulations, you now have the MCServer sources.

===== Getting a new version of the sources =====
Once you've gone through the initial process, you can update your copy of the sources at any time (probably when there are some changes: https://code.google.com/p/mc-server/source/list ). To do so, the only command you need to run is
<code>
svn up
</code>
This will update all the sources to the latest revision available on the server. It will also print the revision number for you, so that you know where you are at.

===== Building MCServer =====
MCServer uses a GNU make system for compilation. No configuration should be needed. If you don't know what the following paragraphs mean, just make a release configuration build :)

To build MCServer in a **debug** configuration, issue
<code>
make
</code>
command in the directory with MCServer sources. A debug configuration means that the program runs slower, is larger, but if it crashes, you can examine the crash down to the line which caused the crash.

To build MCServer in a **release** configuration, issue
<code>
make release=1
</code>
command in the directory with MCServer sources. A release configuration means that the program runs faster, is smaller, but if it crashes, you won't get much information other than that it crashed "somewhere". Unless you are a developer, this is the configuration you want to use.

In both cases, the resulting executable will be called MCServer and will be placed at the MCServer folder inside the source directory.

There is no current Linux build maintainer, in case of problems please post in the forums.