<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Arthur+Richard</id>
	<title>Multi Theft Auto: Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Arthur+Richard"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/Arthur_Richard"/>
	<updated>2026-04-25T09:09:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User_talk:Wielebny&amp;diff=32515</id>
		<title>User talk:Wielebny</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User_talk:Wielebny&amp;diff=32515"/>
		<updated>2012-08-21T10:55:21Z</updated>

		<summary type="html">&lt;p&gt;Arthur Richard: Created page with &amp;quot;Ok, no problem :) . it was just for make an easier installation&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ok, no problem :) . it was just for make an easier installation&lt;/div&gt;</summary>
		<author><name>Arthur Richard</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Building_MTASA_Server_on_GNU_Linux&amp;diff=32438</id>
		<title>Building MTASA Server on GNU Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Building_MTASA_Server_on_GNU_Linux&amp;diff=32438"/>
		<updated>2012-08-20T15:22:48Z</updated>

		<summary type="html">&lt;p&gt;Arthur Richard: /* General instructions for {{Current Version|full}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Preparing your system ==&lt;br /&gt;
&lt;br /&gt;
In order to build the Multi Theft Auto dedicated server, you will have to set up your system with the correct libraries and tools. How these are installed depends on your distribution.&lt;br /&gt;
&lt;br /&gt;
Our network module (net.dll or net.so) is distributed as a precompiled binary library. The file for GNU/Linux can be found inside the lastest Linux nightly from [http://nightly.mtasa.com/ here]. Use the net.so from 1.4 if you are compiling from the trunk, or the net.so from 1.3.x if you are compiling the 1.3.x branch. Be sure the read the top of ''MTA10_Server/version.h'' as it contains directions on how to compile the different build types.&lt;br /&gt;
&lt;br /&gt;
{{Note|This article is only for developers who changed the server code, if you are looking for the precompiled server (for normal server owners). Go to: [http://linux.mtasa.com/ linux.mtasa.com]}}&lt;br /&gt;
&lt;br /&gt;
'''Debian Linux'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Includes derivative distributions such as Ubuntu.&lt;br /&gt;
&lt;br /&gt;
You will need the necessary build tools, headers and libraries, which are distributed through the following Debian packages (e.g. Debian Lenny):&lt;br /&gt;
&lt;br /&gt;
* '''build-essential:''' contains the necessary tools, headers and libraries to build applications&lt;br /&gt;
* '''automake:''' contains the automake tools&lt;br /&gt;
* '''libtool:''' contains the libtool software required to build libraries&lt;br /&gt;
* '''libcurl3-dev:''' contains the cURL library (version 3 without SSL support)&lt;br /&gt;
* '''libpcre3-dev:''' contains the PCRE library (version 3)&lt;br /&gt;
* '''libsqlite3-dev:''' contains the SQLite library (version 3)&lt;br /&gt;
* '''libreadline5-dev:''' contains the readline library (version 5)&lt;br /&gt;
* '''subversion:''' contains the SVN client used to check out our code repository&lt;br /&gt;
* '''libncurses5-dev:''' contains software for controlling writing to the console screen&lt;br /&gt;
* '''libncursesw5-dev:''' contains support for wide characters&lt;br /&gt;
* '''libsparsehash-dev:''' contains support for Google's hash-map '''(So you don't have to compile sparehash!)'''&lt;br /&gt;
* '''libmysqlclient-dev:''' contains the MySQL library&lt;br /&gt;
To install these packages through apt, use the apt-get install &amp;lt;package list&amp;gt; command as in the following example (execute as root):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;apt-get install build-essential automake libtool libcurl4-openssl-dev libpcre3-dev libsqlite3-dev libreadline5-dev subversion libncurses5-dev libncursesw5-dev libsparsehash-dev libmysqlclient-dev&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Gentoo Linux'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will need the necessary build tools, headers and libraries. Because Gentoo’s portage system is designed to compile any packages on your own system, the necessary build tools will have already been installed. This only leaves you to install the necessary libraries:&lt;br /&gt;
&lt;br /&gt;
* '''sqlite:''' contains the SQLite library&lt;br /&gt;
* '''subversion:''' contains the SVN client used to check out our code repository&lt;br /&gt;
* '''curl:''' contains the cURL library; to compile with SSL support, apply the net-misc/curl ssl USE flag&lt;br /&gt;
To compile and install these packages through emerge, use the emerge -v &amp;lt;package list&amp;gt; command. The -v option shows additional * * information and can be omitted. (If you want to use any USE flags, prepend emerge with USE=&amp;quot;use flags here&amp;quot;. You can also use the -pv option to verify that you’re using the correct flags.) Refer to the [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&amp;amp;chap=1 Gentoo Handbook] or manual for more information on emerge.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;emerge -v subversion sqlite&lt;br /&gt;
USE=“net-misc/curl ssl” emerge -v curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Fedora'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will need these packages to be able to successfully compile a MTA server on Fedora: &lt;br /&gt;
* '''glibc-devel:'''&lt;br /&gt;
* '''curl-devel:''' contains the cURL library&lt;br /&gt;
* '''pcre-devel:''' contains the PCRE library&lt;br /&gt;
* '''sqlite3-devel:''' contains the SQLite library&lt;br /&gt;
* '''readline-devel:''' contains the readline library&lt;br /&gt;
* '''lua-devel:''' contains the Lua libraries&lt;br /&gt;
* '''subversion:''' contains the SVN client to check out the source code&lt;br /&gt;
To install these packages through yum, use the yum install &amp;lt;package list&amp;gt; command as in the following example (execute as root):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;yum install glibc-devel curl-devel pcre-devel sqlite3-devel readline-devel lua-devel subversion&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A warning for x64'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The MTA:SA server currently cannot be properly compiled in 64-bit mode. Instead, you should compile it in 32-bit mode and run it using 32-bit compatibility mode (use the -m32 flag).&lt;br /&gt;
&lt;br /&gt;
== General instructions for {{Current Version|full}} ==&lt;br /&gt;
&lt;br /&gt;
'''Downloading the source.'''&lt;br /&gt;
&lt;br /&gt;
First you need to download the source.&lt;br /&gt;
&lt;br /&gt;
 svn checkout &amp;lt;nowiki&amp;gt;http&amp;lt;/nowiki&amp;gt;://mtasa-blue.googlecode.com/svn/branches/{{Current Version|full}}/ mtasa-blue&lt;br /&gt;
 cd mtasa-blue&lt;br /&gt;
&lt;br /&gt;
Then compile it thus:&lt;br /&gt;
 autoreconf -fiv&lt;br /&gt;
 export PKG_CONFIG_PATH=/usr/lib32/pkgconfig&lt;br /&gt;
 ./configure LDFLAGS=&amp;quot;-m32&amp;quot; CPPFLAGS=&amp;quot;-m32&amp;quot; CFLAGS=&amp;quot;-m32&amp;quot; CXXFLAGS=&amp;quot;-m32&amp;quot; $@&lt;br /&gt;
 make&lt;br /&gt;
 make -C MTA10_Server install&lt;br /&gt;
 make -C Shared/XML install&lt;br /&gt;
&lt;br /&gt;
Get the net.so like this:&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;http&amp;lt;/nowiki&amp;gt;://nightly.mtasa.com/?multitheftauto_linux-{{Current Version|full}}-rc-latest -O multitheftauto_linux-{{Current Version|full}}-latest.tar.gz&lt;br /&gt;
 tar -xzf multitheftauto_linux-{{Current Version|full}}-latest.tar.gz --transform 's:[^/]*:latest_nightly:'&lt;br /&gt;
 mv latest_nightly/net.so MTA10_Server/output/&lt;br /&gt;
 rm -rf latest_nightly multitheftauto_linux-{{Current Version|full}}-latest.tar.gz&lt;br /&gt;
&lt;br /&gt;
Copy config files:&lt;br /&gt;
 cp MTA10_Server/mods/deathmatch/acl.xml MTA10_Server/output/mods/deathmatch/acl.xml&lt;br /&gt;
 cp MTA10_Server/mods/deathmatch/mtaserver.conf MTA10_Server/output/mods/deathmatch/mtaserver.conf&lt;br /&gt;
&lt;br /&gt;
Get resources:&lt;br /&gt;
 svn export &amp;lt;nowiki&amp;gt;http&amp;lt;/nowiki&amp;gt;://mtasa-resources.googlecode.com/svn/trunk/ MTA10_Server/output/mods/deathmatch/resources&lt;br /&gt;
&lt;br /&gt;
And the server should be ready in MTA10_Server/output&lt;br /&gt;
&lt;br /&gt;
=== '''Troubleshooting''' ===&lt;br /&gt;
&lt;br /&gt;
Any errors during the compilation of json-c can be solved by calling autoreconf -fi from the json-c directory.&lt;br /&gt;
&lt;br /&gt;
If you’re getting any unexpected errors while compiling, please check our [http://bugs.mtasa.com/ Bug tracker] or our [irc://irc.multitheftauto.com/ IRC channel]&lt;br /&gt;
&lt;br /&gt;
Or you can download a [https://www.dropbox.com/s/w06kg00hi0itncv/mta-sa-server.deb deb file] package. After you installed it, launch the server with&amp;quot;/usr/bin/mta-server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== '''Server crashes''' ==&lt;br /&gt;
&lt;br /&gt;
If your Linux server crashes, please obtain a backtrace and post a report on our [http://bugs.mtasa.com/ Bug tracker]&lt;br /&gt;
&lt;br /&gt;
====To obtain a backtrace:====&lt;br /&gt;
===Do you have a core dump file in the the MTA server directory?===&lt;br /&gt;
It's usually called 'core', and usually over 100MB, and looks something like this:&lt;br /&gt;
 [[Image:Core.png]]&lt;br /&gt;
====If you have a core dump file in the the MTA server directory:====&lt;br /&gt;
*Install gdb. To install gdb on Debian, use this command:&lt;br /&gt;
 apt-get install gdb&lt;br /&gt;
*And from the MTA install directory do this command&lt;br /&gt;
 gdb mta-server -c core&lt;br /&gt;
*When gdb launches, do this command to get a backtrace:&lt;br /&gt;
 bt full&lt;br /&gt;
*Save the output&lt;br /&gt;
*(To exit gdb, use the quit command)&lt;br /&gt;
&lt;br /&gt;
====If you do not have a core dump file in the the MTA server directory:====&lt;br /&gt;
*Install gdb. To install gdb on Debian, use this command:&lt;br /&gt;
 apt-get install gdb&lt;br /&gt;
*And from the MTA server directory start the mta-server like this:&lt;br /&gt;
 gdb mta-server --eval-command run&lt;br /&gt;
*Now wait for a crash. (Ignore weird screen output in the meantime)&lt;br /&gt;
*When a crash occurs, do this command to get a backtrace:&lt;br /&gt;
 bt full&lt;br /&gt;
*Save the output&lt;br /&gt;
*(To exit gdb, use the quit command)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Server freezes''' ==&lt;br /&gt;
&lt;br /&gt;
If your Linux server freezes, please obtain a backtrace with thread information and post a report on our [http://bugs.mtasa.com/ Bug tracker]&lt;br /&gt;
&lt;br /&gt;
====To obtain a backtrace with thread information:====&lt;br /&gt;
*Install gdb. To install gdb on Debian, use this command:&lt;br /&gt;
 apt-get install gdb&lt;br /&gt;
*And from the MTA server directory start the mta-server like this:&lt;br /&gt;
 gdb mta-server --eval-command run&lt;br /&gt;
*Now wait for a freeze. (Ignore weird screen output in the meantime)&lt;br /&gt;
*When a freeze occurs, press ctrl-c to start gdb&lt;br /&gt;
*Then do this command to get a backtrace:&lt;br /&gt;
 bt full&lt;br /&gt;
*Save the output&lt;br /&gt;
*Then do this command to get a thread information:&lt;br /&gt;
 info threads&lt;br /&gt;
*Save the output&lt;br /&gt;
*(To exit gdb, use the quit command)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Running on a 64 bit Linux''' ==&lt;br /&gt;
* Install 32 bit libs for your distro&lt;br /&gt;
If you get a problem with such as &amp;quot;libreadline.so.5: cannot open shared object file: No such file or directory.&amp;quot;, it can be solved on Debian by doing this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
wget http://ftp.uk.debian.org/debian/pool/main/r/readline5/libreadline5_5.2-7_i386.deb&lt;br /&gt;
dpkg -X libreadline5_5.2-7_i386.deb temp&lt;br /&gt;
cp -d temp/lib/libreadline.so.5* /usr/lib32/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[ru:Building MTASA Server on GNU Linux]]&lt;/div&gt;</summary>
		<author><name>Arthur Richard</name></author>
	</entry>
</feed>