<?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=JoeBullet</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=JoeBullet"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/JoeBullet"/>
	<updated>2026-05-17T17:36:34Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.3.1&amp;diff=32343</id>
		<title>Changes in 1.3.1</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.3.1&amp;diff=32343"/>
		<updated>2012-08-15T13:20:11Z</updated>

		<summary type="html">&lt;p&gt;JoeBullet: IsPedTargetingMarkerEnabled -&amp;gt; isPedTargetingMarkerEnabled&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Main Additions / Changes ==&lt;br /&gt;
* Added Custom Vehicle Sirens&lt;br /&gt;
* Fixed map files are downloading very slow issue&lt;br /&gt;
* Fixed timeouts on map change&lt;br /&gt;
* Fixed various issues, crashes and freezes&lt;br /&gt;
* Updated max players to 4096&lt;br /&gt;
* Added BASS Effects&lt;br /&gt;
* Added Analog Controls States&lt;br /&gt;
* Added bullet sync&lt;br /&gt;
* Fixed several custom model replacing issues&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== New Functions ===&lt;br /&gt;
&lt;br /&gt;
* Added [[setObjectBreakable]]&lt;br /&gt;
* Added [[isObjectBreakable]]&lt;br /&gt;
* Added [[dxSetBlendMode]]&lt;br /&gt;
* Added [[dxGetBlendMode]]&lt;br /&gt;
* Added [[dxDrawMaterialLine3D]]&lt;br /&gt;
* Added [[dxDrawMaterialSectionLine3D]]&lt;br /&gt;
* Added [[getLatentEventHandles]]&lt;br /&gt;
* Added [[getLatentEventStatus]]&lt;br /&gt;
* Added [[cancelLatentEvent]]&lt;br /&gt;
* Added [[triggerLatentServerEvent]]&lt;br /&gt;
* Added [[getVehicleSirenParams]]&lt;br /&gt;
* Added [[getVehicleSirens]]&lt;br /&gt;
* Added [[setVehicleSirens]]&lt;br /&gt;
* Added [[getSoundProperties]]&lt;br /&gt;
* Added [[setSoundProperties]]&lt;br /&gt;
* Added [[getSoundFFTData]]&lt;br /&gt;
* Added [[setSoundPanningEnabled]]&lt;br /&gt;
* Added [[isSoundPanningEnabled]]&lt;br /&gt;
* Added [[setWorldSoundEnabled]]&lt;br /&gt;
* Added [[isWorldSoundEnabled]] &lt;br /&gt;
* Added [[resetWorldSounds]]&lt;br /&gt;
* Added [[getSoundBPM]]&lt;br /&gt;
* Added [[getSoundLevelData]]&lt;br /&gt;
* Added [[getSoundWaveData]]&lt;br /&gt;
* Added [[setPedAnalogControlState]]&lt;br /&gt;
* Added [[getPedAnalogControlState]]&lt;br /&gt;
* Added [[setAnalogControlState]]&lt;br /&gt;
* Added [[getAnalogControlState]]&lt;br /&gt;
* Added [[setPedTargetingMarkerEnabled]]&lt;br /&gt;
* Added [[isPedTargetingMarkerEnabled]]&lt;br /&gt;
* Added [[setElementMatrix]]&lt;br /&gt;
* Added [[warpPedIntoVehicle]]&lt;br /&gt;
* Added [[removePedFromVehicle]]&lt;br /&gt;
&lt;br /&gt;
=== New Events ===&lt;br /&gt;
&lt;br /&gt;
* Added [[onClientPedHeliKilled]]&lt;br /&gt;
* Added [[onClientPlayerHeliKilled]]&lt;br /&gt;
* Added [[onClientPlayerHitByWaterCannon]]&lt;br /&gt;
* Added [[onClientPedHitByWaterCannon]]&lt;br /&gt;
* Added [[onClientPlayerPickupHit]]&lt;br /&gt;
* Added [[onClientPlayerPickupLeave]]&lt;br /&gt;
* Added [[onClientSoundBeat]]&lt;br /&gt;
&lt;br /&gt;
=== Changes / Bug Fixes ===&lt;br /&gt;
&lt;br /&gt;
* Fixed 'not being able to enter vehicles' bug&lt;br /&gt;
* Added order priority to [[addEventHandler]]&lt;br /&gt;
* Fixed 'engineless' NRG-500 Variant&lt;br /&gt;
* Added option to skip Dual Monitor Resolution Select&lt;br /&gt;
* Made [[playSound3D]] use the camera position instead of the player position when determining the distance&lt;br /&gt;
* Added color coding and sub-pixel positioning options to [[dxDrawText]]&lt;br /&gt;
* Added ability to create and modify cubemaps and volume textures - Details: [[dxCreateTexture]]&lt;br /&gt;
* Added model cache system to reduce loading delays&lt;br /&gt;
* Added CJ clothes cache to help reduce game freezes&lt;br /&gt;
* Sped up event handling system for server and client&lt;br /&gt;
* Added element option to [[engineApplyShaderToWorldTexture]]&lt;br /&gt;
* Added optional bool to [[getElementMatrix]] ( element, bool )&lt;br /&gt;
* Added unrar for smoother update procedure&lt;br /&gt;
* Fixed custom model replacement errors sometimes with weapons &amp;amp; weapon pickups.&lt;br /&gt;
* Fixed vehicle upgrade custom models not showing immediately&lt;br /&gt;
* Fixed accuracy of hit point in [[onClientPlayerWeaponFire]] and added shot origin parameter&lt;br /&gt;
* Fixed [[setPedAimTarget]] direction being all wrong&lt;br /&gt;
* Fixed issue when peds' bullets origin from wrong position&lt;br /&gt;
* Fixed custom models not rendering correctly sometimes parameter&lt;br /&gt;
* Fixed custom model LOD distance is not reseting after quiting&lt;br /&gt;
* Added size limit for clientscript.log file&lt;br /&gt;
* Added ability to shoot with any weapon with jetpack&lt;br /&gt;
* Made timers less crashy&lt;br /&gt;
* Fixed some animation crashes&lt;br /&gt;
* Fixed [[getPedMoveState]] returns false when moving in crouch state&lt;br /&gt;
* Fixed a bug when a resource that replace an object model (dff) and texture (txd) is stopped the object texture get white&lt;br /&gt;
* Added ped pixel shaders&lt;br /&gt;
* Added ability to layer multiple shaders on a world texture&lt;br /&gt;
* Fixed Windows 8 missing dll error&lt;br /&gt;
* Fixed [[setElementPosition]] for vehicles on a non streamed in position will make the vehicle spin very quickly&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== New Functions ===&lt;br /&gt;
&lt;br /&gt;
* Added [[fetchRemote]]&lt;br /&gt;
* Added [[reloadBans]]&lt;br /&gt;
* Added [[getAllAccountData]]&lt;br /&gt;
* Added [[getLatentEventHandles]]&lt;br /&gt;
* Added [[getLatentEventStatus]]&lt;br /&gt;
* Added [[cancelLatentEvent]]&lt;br /&gt;
* Added [[removeVehicleSirens]]&lt;br /&gt;
* Added [[getVehicleSirenParams]]&lt;br /&gt;
* Added [[getVehicleSirens]]&lt;br /&gt;
* Added [[setVehicleSirens]]&lt;br /&gt;
* Added [[addVehicleSirens]]&lt;br /&gt;
* Added [[setJetpackWeaponEnabled]]&lt;br /&gt;
* Added [[getJetpackWeaponEnabled]]&lt;br /&gt;
&lt;br /&gt;
=== New Events ===&lt;br /&gt;
&lt;br /&gt;
* None yet&lt;br /&gt;
&lt;br /&gt;
=== Changes / Bug Fixes ===&lt;br /&gt;
&lt;br /&gt;
* Fixed map files are downloading very slow issue&lt;br /&gt;
* Fixed timeouts on map change&lt;br /&gt;
* Tweaks and fixes for vehicle sync&lt;br /&gt;
* Added order priority to [[addEventHandler]]&lt;br /&gt;
* Improved performance when the server has a large number of IP bans&lt;br /&gt;
* Added debug info to timers&lt;br /&gt;
* Added adjustable sync rates to [[setServerConfigSetting]] and the server config - Details: [[Sync_interval_settings]]&lt;br /&gt;
* Fixed lightsync vehicles ghost streaming in when locally they are miles away&lt;br /&gt;
* Fixed server sometimes not appearing in the browser&lt;br /&gt;
* Added server setting to reduce CPU usage&lt;br /&gt;
* Sped up event handling system for server and client&lt;br /&gt;
* Tweaked server networking&lt;br /&gt;
* Improved Lua errors for server element functions&lt;br /&gt;
* Reduced CPU usage more&lt;br /&gt;
* Made timers less crashy&lt;br /&gt;
* Added vehicle extrapolation - Details: [[mtaserver.conf#vehext_percent|mtaserver.conf -&amp;gt; vehext_]]&lt;br /&gt;
* Fixed server crash when towing a clientside vehicle&lt;br /&gt;
* Added option to suppress certain MySQL error messages&lt;br /&gt;
* Large amount of other crashfixes, improvements and tweaks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Updated parachute to fix high CPU usage on clients&lt;br /&gt;
* Added Visualiser resource&lt;br /&gt;
* Added GUI Siren Editor &lt;br /&gt;
* Fixed a reload exploit where you could jump and then reload for an instant reload&lt;br /&gt;
* Made reload with jetpack work again&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Fixed Map editor not saving locations of objects on Linux machines&lt;br /&gt;
* Added cancel option when starting map editor from menu.&lt;br /&gt;
&lt;br /&gt;
[[Category:Changelog]]&lt;/div&gt;</summary>
		<author><name>JoeBullet</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=ProcessLineOfSight&amp;diff=31419</id>
		<title>ProcessLineOfSight</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=ProcessLineOfSight&amp;diff=31419"/>
		<updated>2012-06-14T21:46:14Z</updated>

		<summary type="html">&lt;p&gt;JoeBullet: Explained ignoreSomeObjectsForCamera&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Important Note|This function doesn't return some parameters. See the [[http://bugs.mtasa.com/view.php?id=7003 bugtracker]] for updates and more information. }}&lt;br /&gt;
{{Needs_Checking|Explain ignoreSomeObjectsForCamera and ignoredElement with examples?&lt;br /&gt;
--[[User:Ransom|Ransom]] 07:18, 3 February 2011 (UTC)}}&lt;br /&gt;
{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function casts a ray between two points in the world, and tells you information about the point that was hit, if any. The two positions '''must''' be within the local player's draw distance as the collision data is not loaded outside this area, and the call will just fail as if the ray didn't hit.&lt;br /&gt;
&lt;br /&gt;
This function is relatively expensive to call, so over use of this in scripts may have a detrimental effect on performance.&lt;br /&gt;
&lt;br /&gt;
This function is useful for checking for collisions and for editor-style scripts. If you wish to find what element is positioned at a particular point on the screen, use this function combined with [[getWorldFromScreenPosition]]. If you wish to just know if something is hit, and don't care about what or where was hit, use [[isLineOfSightClear]].&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
Return values labelled for ease of reference.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool               -- hit&lt;br /&gt;
float float float  -- hitX, hitY, hitZ&lt;br /&gt;
element            -- hitElement&lt;br /&gt;
float float float  -- normalX, normalY, normalZ&lt;br /&gt;
int                -- material&lt;br /&gt;
int                -- lighting&lt;br /&gt;
int                -- piece&lt;br /&gt;
int                -- worldModelID&lt;br /&gt;
float float float  -- worldModelPositionX,Y,Z&lt;br /&gt;
float float float  -- worldModelRotationX,Y,Z&lt;br /&gt;
int                -- worldLODModelID&lt;br /&gt;
                  processLineOfSight ( float startX, float startY, float startZ, &lt;br /&gt;
                                       float endX, float endY, float endZ, &lt;br /&gt;
                                       [ bool checkBuildings = true, &lt;br /&gt;
                                       bool checkVehicles = true, &lt;br /&gt;
                                       bool checkPlayers = true, &lt;br /&gt;
                                       bool checkObjects = true, &lt;br /&gt;
                                       bool checkDummies = true, &lt;br /&gt;
                                       bool seeThroughStuff = false, &lt;br /&gt;
                                       bool ignoreSomeObjectsForCamera = false, &lt;br /&gt;
                                       bool shootThroughStuff = false, &lt;br /&gt;
                                       element ignoredElement = nil,&lt;br /&gt;
                                       bool includeWorldModelInformation = false ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''startX:''' The start ''x'' position&lt;br /&gt;
*'''startY:''' The start ''y'' position&lt;br /&gt;
*'''startZ:''' The start ''z'' position&lt;br /&gt;
*'''endX:''' The end ''x'' position&lt;br /&gt;
*'''endY:''' The end ''y'' position&lt;br /&gt;
*'''endZ:''' The end ''z'' position&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
{{OptionalArg}} &lt;br /&gt;
*'''checkBuildings:''' Allow the line of sight to be blocked by GTA's internally placed buildings, i.e. the world map.&lt;br /&gt;
*'''checkVehicles:''' Allow the line of sight to be blocked by [[Vehicle|vehicles]].&lt;br /&gt;
*'''checkPlayers:''' Allow the line of sight to be blocked by [[Player|players]].&lt;br /&gt;
*'''checkObjects:''' Allow the line of sight to be blocked by [[Object|objects]].&lt;br /&gt;
*'''checkDummies:''' Allow the line of sight to be blocked by GTA's internal dummies.  These are not used in the current MTA version so this argument can be set to ''false''.&lt;br /&gt;
*'''seeThroughStuff:''' Allow the line of sight to be blocked by translucent game objects, e.g. glass.&lt;br /&gt;
*'''ignoreSomeObjectsForCamera:''' Allow the line of sight to be blocked by objects that have (K) property enabled in &amp;quot;object.dat&amp;quot; data file.&lt;br /&gt;
*'''shootThroughStuff:''' Allow the line of sight to be blocked by things that can be shot through&lt;br /&gt;
*'''ignoredElement:''' Allow the line of sight to pass through a certain specified element. This is usually set by the object you are tracing from.&lt;br /&gt;
{{New feature|3.0110|1.1|&lt;br /&gt;
*'''includeWorldModelInformation :''' Include the results of hitting a world model.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
*'''hit:''' ''true'' if there is a collision, ''false'' otherwise&lt;br /&gt;
The other values are only filled if there is a collision, they contain ''nil'' otherwise&lt;br /&gt;
*'''hitX, hitY, hitZ:''' collision position&lt;br /&gt;
*'''hitElement:''' the MTA element hit if any, ''nil'' otherwise&lt;br /&gt;
{{New feature|3.0110|1.1|&lt;br /&gt;
*'''normalX, normalY, normalZ:''' the normal of the surface hit&lt;br /&gt;
*'''material:''' an integer representing the [[Material IDs|GTASA material ID]] of the surface hit when applicable (world, objects)&lt;br /&gt;
*'''lighting:''' an integer between 0 (fully dark) and 255 (bright) representing the lighting intensity of the surface hit. This intensity is related to the lighting intensity the ped gets when standing on this surface (more than 100 in general, less than 20 in dark areas, and 0 to 1 in stealth parts of Madd Dogg's mansion)&lt;br /&gt;
*'''piece:''' an integer representing the part of the element hit if hitElement is a vehicle or a ped/player, ''0'' otherwise. &lt;br /&gt;
**For a ped/player, piece represents the body part hit:&lt;br /&gt;
{{BodyParts}}&lt;br /&gt;
**For vehicles, piece represents the vehicle part hit:&lt;br /&gt;
{{VehicleParts}}&lt;br /&gt;
*'''worldModelID:''' If includeWorldModelInformation was set to ''true'' and a world model was hit, this will contain the model ID.&lt;br /&gt;
*'''worldModelPositionX,Y,Z:''' If worldModelID is set, this will contain the world model position.&lt;br /&gt;
*'''worldModelRotationX,Y,Z:''' If worldModelID is set, this will contain the world model rotation.&lt;br /&gt;
*'''worldLODModelID:''' If worldModelID is set, this will contain the LOD model ID if applicable.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example shows how you can tell what position and element the camera is looking at, up to 50 units away.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local w, h = guiGetScreenSize ()&lt;br /&gt;
local tx, ty, tz = getWorldFromScreenPosition ( w/2, h/2, 50 )&lt;br /&gt;
local px, py, pz = getCameraMatrix()&lt;br /&gt;
hit, x, y, z, elementHit = processLineOfSight ( px, py, pz, tx, ty, tz )&lt;br /&gt;
if hit then&lt;br /&gt;
    outputChatBox ( &amp;quot;Looking at &amp;quot; .. x .. &amp;quot;, &amp;quot; .. y .. &amp;quot;, &amp;quot; ..  z )&lt;br /&gt;
    if elementHit then&lt;br /&gt;
        outputChatBox ( &amp;quot;Hit element &amp;quot; .. getElementType(elementHit) )&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client world functions}}&lt;/div&gt;</summary>
		<author><name>JoeBullet</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:Building_MTASA_Server_on_GNU_Linux&amp;diff=24996</id>
		<title>Talk:Building MTASA Server on GNU Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:Building_MTASA_Server_on_GNU_Linux&amp;diff=24996"/>
		<updated>2011-01-06T13:44:53Z</updated>

		<summary type="html">&lt;p&gt;JoeBullet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;@x86 It's required to have root premissions to run &amp;quot;apt-get&amp;quot;, also it says &amp;quot;(executed as root)&amp;quot; i.e 'sudo'.&lt;br /&gt;
--[[User:JoeBullet|JoeBullet]] 13:44, 6 January 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>JoeBullet</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:Building_MTASA_Server_on_GNU_Linux&amp;diff=24995</id>
		<title>Talk:Building MTASA Server on GNU Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:Building_MTASA_Server_on_GNU_Linux&amp;diff=24995"/>
		<updated>2011-01-06T13:44:36Z</updated>

		<summary type="html">&lt;p&gt;JoeBullet: Created page with &amp;quot;@x86 It's required to have root premissions to run &amp;quot;apt-get&amp;quot;, also it says &amp;quot;(executed as root)&amp;quot; i.e 'sudo'.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;@x86 It's required to have root premissions to run &amp;quot;apt-get&amp;quot;, also it says &amp;quot;(executed as root)&amp;quot; i.e 'sudo'.&lt;/div&gt;</summary>
		<author><name>JoeBullet</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Building_MTASA_Server_on_GNU_Linux&amp;diff=24985</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=24985"/>
		<updated>2011-01-06T11:17:58Z</updated>

		<summary type="html">&lt;p&gt;JoeBullet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Building on GNU/Linux''' ==&lt;br /&gt;
&lt;br /&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.1 if you are compiling from the trunk, or the net.so from 1.0.4 if you are compiling the 1.0.4 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;
&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;
To install these packages through apt, use the apt-get install &amp;lt;package list&amp;gt; command as in the following example (executed as root):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;sudo apt-get install build-essential automake libtool libcurl4-openssl-dev libpcre3-dev libsqlite3-dev libreadline5-dev subversion libncurses5-dev libncursesw5-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 (executed 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;
&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 ==&lt;br /&gt;
&lt;br /&gt;
'''Downloading the source.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First you need to download the source.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;svn checkout http://mtasa-blue.googlecode.com/svn/trunk/ mtasa-blue&lt;br /&gt;
cd mtasa-blue&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prepare the sparsehash library'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can skip this step if your distribution’s package manager provides a sparsehash package that you can install.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;cd vendor/sparsehash/current&lt;br /&gt;
autoreconf -fi&lt;br /&gt;
sh ./configure&lt;br /&gt;
make install&lt;br /&gt;
cd ../../..&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compiling the server'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;autoreconf -fi&lt;br /&gt;
./configure&lt;br /&gt;
make install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your vanilla server will now be compiled and installed into the MTA10_Server/output/ directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Run the server'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grab the net.so from the latest nightly and place it in your output directory, install the mtaserver.conf and acl.xml files into the ''mods/deathmatch/'' directory and put the latest resources from [http://code.google.com/p/multitheftauto-resources/ multitheftauto-resources project] into the ''mods/deathmatch/resources/'' directory . You can then run your server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;cd MTA10_Server/output&lt;br /&gt;
./mta-server&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Troubleshooting''' ==&lt;br /&gt;
&lt;br /&gt;
&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;/div&gt;</summary>
		<author><name>JoeBullet</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Building_MTASA_Server_on_GNU_Linux&amp;diff=24984</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=24984"/>
		<updated>2011-01-06T11:17:29Z</updated>

		<summary type="html">&lt;p&gt;JoeBullet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Building on GNU/Linux''' ==&lt;br /&gt;
&lt;br /&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.1 if you are compiling from the trunk, or the net.so from 1.0.4 if you are compiling the 1.0.4 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;
&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, libncursesw5-dev''' contains software for controlling writing to the console screen&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 (executed as root):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;sudo apt-get install build-essential automake libtool libcurl4-openssl-dev libpcre3-dev libsqlite3-dev libreadline5-dev subversion libncurses5-dev libncursesw5-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 (executed 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;
&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 ==&lt;br /&gt;
&lt;br /&gt;
'''Downloading the source.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First you need to download the source.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;svn checkout http://mtasa-blue.googlecode.com/svn/trunk/ mtasa-blue&lt;br /&gt;
cd mtasa-blue&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prepare the sparsehash library'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can skip this step if your distribution’s package manager provides a sparsehash package that you can install.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;cd vendor/sparsehash/current&lt;br /&gt;
autoreconf -fi&lt;br /&gt;
sh ./configure&lt;br /&gt;
make install&lt;br /&gt;
cd ../../..&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compiling the server'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;autoreconf -fi&lt;br /&gt;
./configure&lt;br /&gt;
make install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your vanilla server will now be compiled and installed into the MTA10_Server/output/ directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Run the server'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grab the net.so from the latest nightly and place it in your output directory, install the mtaserver.conf and acl.xml files into the ''mods/deathmatch/'' directory and put the latest resources from [http://code.google.com/p/multitheftauto-resources/ multitheftauto-resources project] into the ''mods/deathmatch/resources/'' directory . You can then run your server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;cd MTA10_Server/output&lt;br /&gt;
./mta-server&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Troubleshooting''' ==&lt;br /&gt;
&lt;br /&gt;
&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;/div&gt;</summary>
		<author><name>JoeBullet</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Building_MTASA_Server_on_GNU_Linux&amp;diff=24983</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=24983"/>
		<updated>2011-01-06T11:16:49Z</updated>

		<summary type="html">&lt;p&gt;JoeBullet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Building on GNU/Linux''' ==&lt;br /&gt;
&lt;br /&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.1 if you are compiling from the trunk, or the net.so from 1.0.4 if you are compiling the 1.0.4 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;
&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;
To install these packages through apt, use the apt-get install &amp;lt;package list&amp;gt; command as in the following example (executed as root):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;sudo apt-get install build-essential automake libtool libcurl4-openssl-dev libpcre3-dev libsqlite3-dev libreadline5-dev subversion libncurses5-dev libncursesw5-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 (executed 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;
&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 ==&lt;br /&gt;
&lt;br /&gt;
'''Downloading the source.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First you need to download the source.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;svn checkout http://mtasa-blue.googlecode.com/svn/trunk/ mtasa-blue&lt;br /&gt;
cd mtasa-blue&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prepare the sparsehash library'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can skip this step if your distribution’s package manager provides a sparsehash package that you can install.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;cd vendor/sparsehash/current&lt;br /&gt;
autoreconf -fi&lt;br /&gt;
sh ./configure&lt;br /&gt;
make install&lt;br /&gt;
cd ../../..&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compiling the server'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;autoreconf -fi&lt;br /&gt;
./configure&lt;br /&gt;
make install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your vanilla server will now be compiled and installed into the MTA10_Server/output/ directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Run the server'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grab the net.so from the latest nightly and place it in your output directory, install the mtaserver.conf and acl.xml files into the ''mods/deathmatch/'' directory and put the latest resources from [http://code.google.com/p/multitheftauto-resources/ multitheftauto-resources project] into the ''mods/deathmatch/resources/'' directory . You can then run your server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;cd MTA10_Server/output&lt;br /&gt;
./mta-server&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Troubleshooting''' ==&lt;br /&gt;
&lt;br /&gt;
&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;/div&gt;</summary>
		<author><name>JoeBullet</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Building_MTASA_Server_on_GNU_Linux&amp;diff=24982</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=24982"/>
		<updated>2011-01-06T10:21:31Z</updated>

		<summary type="html">&lt;p&gt;JoeBullet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Building on GNU/Linux''' ==&lt;br /&gt;
&lt;br /&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.1 if you are compiling from the trunk, or the net.so from 1.0.4 if you are compiling the 1.0.4 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;
&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;
To install these packages through apt, use the apt-get install &amp;lt;package list&amp;gt; command as in the following example (executed as root):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;sudo apt-get install build-essential automake libtool libcurl4-openssl-dev libpcre3-dev libsqlite3-dev libreadline5-dev subversion libncurses5-dev libncursesw5-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 (executed 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;
&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 ==&lt;br /&gt;
&lt;br /&gt;
'''Downloading the source.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First you need to download the source.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;svn checkout http://mtasa-blue.googlecode.com/svn/trunk/ mtasa-blue&lt;br /&gt;
cd mtasa-blue&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prepare the sparsehash library'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can skip this step if your distribution’s package manager provides a sparsehash package that you can install.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;cd vendor/sparsehash/current&lt;br /&gt;
autoreconf -fi&lt;br /&gt;
sh ./configure&lt;br /&gt;
make install&lt;br /&gt;
cd ../../..&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compiling the server'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;autoreconf -fi&lt;br /&gt;
./configure&lt;br /&gt;
make install&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your vanilla server will now be compiled and installed into the MTA10_Server/output/ directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Run the server'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grab the net.so from the latest nightly and place it in your output directory, install the mtaserver.conf and acl.xml files into the ''mods/deathmatch/'' directory and put the latest resources from [http://code.google.com/p/multitheftauto-resources/ multitheftauto-resources project] into the ''mods/deathmatch/resources/'' directory . You can then run your server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;cd MTA10_Server/output&lt;br /&gt;
./mta-server&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Troubleshooting''' ==&lt;br /&gt;
&lt;br /&gt;
&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;/div&gt;</summary>
		<author><name>JoeBullet</name></author>
	</entry>
</feed>