====== How to compile MCServer from sources ======
MCServer can be compiled for the Windows, Linux and for MacOSX platforms.

The first step is to download sources, either from the homepage (release-grade sources) or from the SVN server (development snapshot). Then you need to compile the sources to produce the final program executable.
Compilation is tested on these platforms regularly:
  * [[:compiling_msvc2008|Microsoft Visual Studio 2008 Express]]
  * [[:compiling_msvc2010|Microsoft Visual Studio 2010 (Express)]]
  * [[:compiling_gcc|GCC on Linux]]
  * [[:compiling:android|Cygwin/Eclipse for Android]]
  * [[:compiling_Mac|Mac]]

Note that there are issues with MS Visual Studio 2012 that cause the debug version of the server to run extremely slow and with great memory consumption. You are therefore recommended to use MSVC2008.

After the server is compiled, you need to adjust settings prior to running it for the first time.

Alternatively, a development snapshot of the server is being built two times a day and posted at address http://mc-server.xoft.cz

===== Profiling =====
When you need to profile MCServer to find the performance bottlenecks, there are a few special steps that you need to do. Currently, profiling has been tested only on Windows MSVC 2008 builds.

1. Install MS Standalone profiler from http://www.microsoft.com/en-us/download/details.aspx?id=18277 . This is the actual tool that will be used for profiling, and all its supporting libraries that are needed for runtime. 

2. Open the MSVC 2008 solution $/VC2008/MCServer.sln, in the menu select Build (Alt+B) -> Configuration manager (O). In the dialog that opens up, select the "Release profiled" solution configuration in the top left combobox. Close the dialog and compile. Do NOT run the program from the IDE!

3. If you are profiling world generator, now is a good time to delete the $/world/region contents, so that the world will be generated anew. Alternatively, you can use the ChunkWorx plugin to request generating chunks: http://forum.mc-server.org/showthread.php?tid=454

4. Modify the script $/VC2008/profile_run.cmd to match your instalation:
- the PT variable needs to point to where the MS Standalone Profiler was installed.
- The path in the last line should point where you want the MS DLL symbols downloaded; change c:\Programovani\Symbols to whatever path you want to use.

5. Run the script $/VC2008/profile_run.cmd, it will start up and configure the profiler, then run MCServer, wait for it to finish and generate the report files. 

6. The profiler has generated MCServer_profiledata.vsp and several MCServer_profiledata*.csv files. The most important of those is MCServer_profiledata_CallerCalleeSummary.csv, it contains the timings of function calls. You can view it using the tool available here: http://www.codeproject.com/Articles/144643/Profiling-of-C-Applications-in-Visual-Studio-for-F