<?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=IJs</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=IJs"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/IJs"/>
	<updated>2026-05-14T03:58:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=22035</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=22035"/>
		<updated>2009-12-13T02:17:47Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements.&lt;br /&gt;
&lt;br /&gt;
The development ''trunk'' will always contain the current version. Work for future versions can be done in separate branches, and will only be merged when the trunk is at the version in which the work was expected to be introduced.&lt;br /&gt;
&lt;br /&gt;
Our current roadmap is located on the [http://bugs.mtasa.com/roadmap_page.php Mantis Roadmap].&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Current_Version&amp;diff=21783</id>
		<title>Template:Current Version</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Current_Version&amp;diff=21783"/>
		<updated>2009-10-24T20:57:22Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:{{{1|}}}|full|       v1.0.2    |        3.0001      }}&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21782</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21782"/>
		<updated>2009-10-24T20:56:48Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background: #FFEEAA; padding: 5px; float:right; width: 30%;&amp;quot;&amp;gt;Latest stable version of '''Multi Theft Auto: San Andreas''' is '''{{Current Version|full}}'''. Visit the [http://mtasa.com/ main page] and grab it.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can also grab a [http://nightly.mtasa.com/ nightly build] to get the latest version.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Welcome to the Multi Theft Auto wiki. On this wiki you'll find a wealth of information on using Multi Theft Auto here.&lt;br /&gt;
&lt;br /&gt;
There's many [[How you can help|things you can do to help us]] improve MTA - create a map, a gamemode, help document scripting functions, write example code, write tutorials or just play MTA and report the bugs you find.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or problems related to scripting, feel free to get in touch with us on our [[IRC Channel]].&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
====Getting started====&lt;br /&gt;
&lt;br /&gt;
* [[Client_Manual|Client Manual]]&lt;br /&gt;
* [[Server_Manual|Server Manual]]&lt;br /&gt;
* [[Known_Issues_-_FAQ|Known Issues]]&lt;br /&gt;
* [[Map_manager|Map Manager]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scripting====&lt;br /&gt;
&lt;br /&gt;
* [[Scripting Introduction|Introduction to Scripting]]&lt;br /&gt;
* [[Introduction to Scripting the GUI]]&lt;br /&gt;
* [http://robhol.net/guide/basics The basics of scripting]&lt;br /&gt;
* [[Debugging|Debugging Tutorial]] - How to find errors in your scripts&lt;br /&gt;
* [[Resources|Introduction to Resources]]&lt;br /&gt;
** [[Resource Web Access]] - How you can write websites with resources&lt;br /&gt;
** [[:Category:Resource|Resource Catalogue]]&lt;br /&gt;
** [[Meta.xml]]&lt;br /&gt;
* [[Writing_Gamemodes|Writing Gamemodes]]&lt;br /&gt;
* [[Useful_Functions|Useful functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
This section outlines all the Lua capabilites MTA or resources provide.&lt;br /&gt;
* [[:Category:Resource|Resource Catalogue]] - You must learn these to make proper scripts&lt;br /&gt;
* [[Client side scripts]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====General Lua Help====&lt;br /&gt;
Pages designed to aid your understanding of Lua&lt;br /&gt;
*[http://www.lua.org/pil/index.html &amp;quot;Programming in Lua&amp;quot; Manual]&lt;br /&gt;
*[http://lua-users.org/wiki/TutorialDirectory Lua Wiki]&lt;br /&gt;
*[http://nixstaller.berlios.de/manual/0.2/nixstaller_9.html A general guide to Lua from Nixstaller]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Map Editor====&lt;br /&gt;
*[[Resource:Editor|Manual]]&lt;br /&gt;
*[[Resource:Editor/EDF|Editor Definition Format]]&lt;br /&gt;
*[[Resource:Editor/Plugins|Plugins]]&lt;br /&gt;
*[[Resource:Editor#FAQ|Frequently Asked Questions]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Developing Multi Theft Auto====&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Git Coding Guidelines]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px; background:#CCCCFF;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Reference====&lt;br /&gt;
* [[Client Scripting Functions|Client-side Functions]]&lt;br /&gt;
* [[Client Scripting Events|Client-side Events]]&lt;br /&gt;
* [[Server Scripting Functions|Server-side Functions]]&lt;br /&gt;
* [[Server Scripting Events|Server-side Events]]&lt;br /&gt;
&amp;lt;!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --&amp;gt;&lt;br /&gt;
* [[MTA Classes]] - Detailed descriptions of all MTA custom types&lt;br /&gt;
** [[Element|MTA Elements]] / [[Element tree]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Id|ID Lists]]====&lt;br /&gt;
*[[Animations|Animations]]&lt;br /&gt;
*[[Character Skins]]&lt;br /&gt;
*[[CJ_Clothes|Clothing styles]]&lt;br /&gt;
*[[Garage|Garage IDs]]&lt;br /&gt;
*[[Interior IDs]]&lt;br /&gt;
*[[Projectiles]]&lt;br /&gt;
*[[Radar Blips]]&lt;br /&gt;
*[[Sounds]]&lt;br /&gt;
*[[Vehicle IDs]]&lt;br /&gt;
*[[Vehicle Colors]]&lt;br /&gt;
*[[Vehicle Upgrades]]&lt;br /&gt;
*[[Weapons|Weapons]]&lt;br /&gt;
*[[Weather]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
[[pl:Main Page]]&lt;br /&gt;
[[ru:Main Page]]&lt;br /&gt;
[[it:Pagina principale]]&lt;br /&gt;
[[nl:Main Page]]&lt;br /&gt;
[[de:Hauptseite]]&lt;br /&gt;
[[es:Pagina Principal]]&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21781</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21781"/>
		<updated>2009-10-24T20:55:42Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background: #FFEEAA; padding: 5px; float:right; width: 30%;&amp;quot;&amp;gt;Latest stable version of '''Multi Theft Auto: San Andreas''' is '''{{Current Version|full}}'''. Visit the [http://mtasa.com/ main page] and grab it.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can also grab the nightly [http://code.google.com/p/multitheftauto/wiki/NightlyBuilds?tm=2 developer builds] for the latest updates.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Welcome to the Multi Theft Auto wiki. On this wiki you'll find a wealth of information on using Multi Theft Auto here.&lt;br /&gt;
&lt;br /&gt;
There's many [[How you can help|things you can do to help us]] improve MTA - create a map, a gamemode, help document scripting functions, write example code, write tutorials or just play MTA and report the bugs you find.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or problems related to scripting, feel free to get in touch with us on our [[IRC Channel]].&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
====Getting started====&lt;br /&gt;
&lt;br /&gt;
* [[Client_Manual|Client Manual]]&lt;br /&gt;
* [[Server_Manual|Server Manual]]&lt;br /&gt;
* [[Known_Issues_-_FAQ|Known Issues]]&lt;br /&gt;
* [[Map_manager|Map Manager]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scripting====&lt;br /&gt;
&lt;br /&gt;
* [[Scripting Introduction|Introduction to Scripting]]&lt;br /&gt;
* [[Introduction to Scripting the GUI]]&lt;br /&gt;
* [http://robhol.net/guide/basics The basics of scripting]&lt;br /&gt;
* [[Debugging|Debugging Tutorial]] - How to find errors in your scripts&lt;br /&gt;
* [[Resources|Introduction to Resources]]&lt;br /&gt;
** [[Resource Web Access]] - How you can write websites with resources&lt;br /&gt;
** [[:Category:Resource|Resource Catalogue]]&lt;br /&gt;
** [[Meta.xml]]&lt;br /&gt;
* [[Writing_Gamemodes|Writing Gamemodes]]&lt;br /&gt;
* [[Useful_Functions|Useful functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
This section outlines all the Lua capabilites MTA or resources provide.&lt;br /&gt;
* [[:Category:Resource|Resource Catalogue]] - You must learn these to make proper scripts&lt;br /&gt;
* [[Client side scripts]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====General Lua Help====&lt;br /&gt;
Pages designed to aid your understanding of Lua&lt;br /&gt;
*[http://www.lua.org/pil/index.html &amp;quot;Programming in Lua&amp;quot; Manual]&lt;br /&gt;
*[http://lua-users.org/wiki/TutorialDirectory Lua Wiki]&lt;br /&gt;
*[http://nixstaller.berlios.de/manual/0.2/nixstaller_9.html A general guide to Lua from Nixstaller]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Map Editor====&lt;br /&gt;
*[[Resource:Editor|Manual]]&lt;br /&gt;
*[[Resource:Editor/EDF|Editor Definition Format]]&lt;br /&gt;
*[[Resource:Editor/Plugins|Plugins]]&lt;br /&gt;
*[[Resource:Editor#FAQ|Frequently Asked Questions]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Developing Multi Theft Auto====&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Git Coding Guidelines]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px; background:#CCCCFF;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Reference====&lt;br /&gt;
* [[Client Scripting Functions|Client-side Functions]]&lt;br /&gt;
* [[Client Scripting Events|Client-side Events]]&lt;br /&gt;
* [[Server Scripting Functions|Server-side Functions]]&lt;br /&gt;
* [[Server Scripting Events|Server-side Events]]&lt;br /&gt;
&amp;lt;!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --&amp;gt;&lt;br /&gt;
* [[MTA Classes]] - Detailed descriptions of all MTA custom types&lt;br /&gt;
** [[Element|MTA Elements]] / [[Element tree]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Id|ID Lists]]====&lt;br /&gt;
*[[Animations|Animations]]&lt;br /&gt;
*[[Character Skins]]&lt;br /&gt;
*[[CJ_Clothes|Clothing styles]]&lt;br /&gt;
*[[Garage|Garage IDs]]&lt;br /&gt;
*[[Interior IDs]]&lt;br /&gt;
*[[Projectiles]]&lt;br /&gt;
*[[Radar Blips]]&lt;br /&gt;
*[[Sounds]]&lt;br /&gt;
*[[Vehicle IDs]]&lt;br /&gt;
*[[Vehicle Colors]]&lt;br /&gt;
*[[Vehicle Upgrades]]&lt;br /&gt;
*[[Weapons|Weapons]]&lt;br /&gt;
*[[Weather]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
[[pl:Main Page]]&lt;br /&gt;
[[ru:Main Page]]&lt;br /&gt;
[[it:Pagina principale]]&lt;br /&gt;
[[nl:Main Page]]&lt;br /&gt;
[[de:Hauptseite]]&lt;br /&gt;
[[es:Pagina Principal]]&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21780</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21780"/>
		<updated>2009-10-24T20:55:30Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background: #FFEEAA; padding: 5px; float:right; width: 30%;&amp;quot;&amp;gt;Latest stable version of '''Multi Theft Auto: San Andreas''' is '''{{Current Version|full}}'''. Visit the [http://mtasa.com/ main page] and grab it.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can also grab the nightly [http://code.google.com/p/multitheftauto/wiki/NightlyBuilds?tm=2 developer builds] for the latest updates.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Welcome to the Multi Theft Auto wiki. On this wiki you'll find a wealth of information on using Multi Theft Auto here.&lt;br /&gt;
&lt;br /&gt;
There's many [[How you can help|things you can do to help us]] improve MTA - create a map, a gamemode, help document scripting functions, write example code, write tutorials or just play MTA and report the bugs you find.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or problems related to scripting, feel free to get in touch with us on our [[IRC Channel]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
====Getting started====&lt;br /&gt;
&lt;br /&gt;
* [[Client_Manual|Client Manual]]&lt;br /&gt;
* [[Server_Manual|Server Manual]]&lt;br /&gt;
* [[Known_Issues_-_FAQ|Known Issues]]&lt;br /&gt;
* [[Map_manager|Map Manager]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scripting====&lt;br /&gt;
&lt;br /&gt;
* [[Scripting Introduction|Introduction to Scripting]]&lt;br /&gt;
* [[Introduction to Scripting the GUI]]&lt;br /&gt;
* [http://robhol.net/guide/basics The basics of scripting]&lt;br /&gt;
* [[Debugging|Debugging Tutorial]] - How to find errors in your scripts&lt;br /&gt;
* [[Resources|Introduction to Resources]]&lt;br /&gt;
** [[Resource Web Access]] - How you can write websites with resources&lt;br /&gt;
** [[:Category:Resource|Resource Catalogue]]&lt;br /&gt;
** [[Meta.xml]]&lt;br /&gt;
* [[Writing_Gamemodes|Writing Gamemodes]]&lt;br /&gt;
* [[Useful_Functions|Useful functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
This section outlines all the Lua capabilites MTA or resources provide.&lt;br /&gt;
* [[:Category:Resource|Resource Catalogue]] - You must learn these to make proper scripts&lt;br /&gt;
* [[Client side scripts]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====General Lua Help====&lt;br /&gt;
Pages designed to aid your understanding of Lua&lt;br /&gt;
*[http://www.lua.org/pil/index.html &amp;quot;Programming in Lua&amp;quot; Manual]&lt;br /&gt;
*[http://lua-users.org/wiki/TutorialDirectory Lua Wiki]&lt;br /&gt;
*[http://nixstaller.berlios.de/manual/0.2/nixstaller_9.html A general guide to Lua from Nixstaller]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Map Editor====&lt;br /&gt;
*[[Resource:Editor|Manual]]&lt;br /&gt;
*[[Resource:Editor/EDF|Editor Definition Format]]&lt;br /&gt;
*[[Resource:Editor/Plugins|Plugins]]&lt;br /&gt;
*[[Resource:Editor#FAQ|Frequently Asked Questions]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Developing Multi Theft Auto====&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Git Coding Guidelines]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px; background:#CCCCFF;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Reference====&lt;br /&gt;
* [[Client Scripting Functions|Client-side Functions]]&lt;br /&gt;
* [[Client Scripting Events|Client-side Events]]&lt;br /&gt;
* [[Server Scripting Functions|Server-side Functions]]&lt;br /&gt;
* [[Server Scripting Events|Server-side Events]]&lt;br /&gt;
&amp;lt;!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --&amp;gt;&lt;br /&gt;
* [[MTA Classes]] - Detailed descriptions of all MTA custom types&lt;br /&gt;
** [[Element|MTA Elements]] / [[Element tree]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Id|ID Lists]]====&lt;br /&gt;
*[[Animations|Animations]]&lt;br /&gt;
*[[Character Skins]]&lt;br /&gt;
*[[CJ_Clothes|Clothing styles]]&lt;br /&gt;
*[[Garage|Garage IDs]]&lt;br /&gt;
*[[Interior IDs]]&lt;br /&gt;
*[[Projectiles]]&lt;br /&gt;
*[[Radar Blips]]&lt;br /&gt;
*[[Sounds]]&lt;br /&gt;
*[[Vehicle IDs]]&lt;br /&gt;
*[[Vehicle Colors]]&lt;br /&gt;
*[[Vehicle Upgrades]]&lt;br /&gt;
*[[Weapons|Weapons]]&lt;br /&gt;
*[[Weather]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
[[pl:Main Page]]&lt;br /&gt;
[[ru:Main Page]]&lt;br /&gt;
[[it:Pagina principale]]&lt;br /&gt;
[[nl:Main Page]]&lt;br /&gt;
[[de:Hauptseite]]&lt;br /&gt;
[[es:Pagina Principal]]&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetVersion&amp;diff=21655</id>
		<title>GetVersion</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetVersion&amp;diff=21655"/>
		<updated>2009-10-03T13:56:09Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Returns */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
&lt;br /&gt;
This function gives you various version information about MTA and the operating system.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;table getVersion ( )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
''None.''&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a table with version information. Specifically these keys are present in the table:&lt;br /&gt;
*'''number:''' the MTA server or client version (depending where the function was called) in pure numerical form, e.g. ''&amp;quot;256&amp;quot;''&lt;br /&gt;
*'''mta:''' the MTA server or client version (depending where the function was called) in textual form, e.g. ''&amp;quot;1.0&amp;quot;''&lt;br /&gt;
*'''name:''' the full MTA product name, either ''&amp;quot;MTA:SA Server&amp;quot;'' or ''&amp;quot;MTA:SA Client&amp;quot;''.&lt;br /&gt;
*'''netcode:''' the netcode version number.&lt;br /&gt;
*'''os:''' returns the operating system on which the server is running&lt;br /&gt;
*'''type:''' the type of build.  can be:&lt;br /&gt;
**'''&amp;quot;Nightly rX&amp;quot;''' - A nightly development build.  '''X''' represents the nightly build revision.&lt;br /&gt;
**'''&amp;quot;Custom&amp;quot;''' - A build compiled manually&lt;br /&gt;
**'''&amp;quot;Release&amp;quot;''' - A build that is publically released (provisional).&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will make a script compatible only with version 1.0:&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function setHoboSkin ( playerSource )&lt;br /&gt;
  local version = getVersion ( )&lt;br /&gt;
  if version.number &amp;lt; 256 then -- MTA 1.0 version number is 0x0100&lt;br /&gt;
    setPlayerSkin ( playerSource, 137 )&lt;br /&gt;
  else&lt;br /&gt;
    setElementModel ( playerSource, 137 )&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler ( &amp;quot;hobo&amp;quot;, setHoboSkin )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Server functions}}&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21630</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21630"/>
		<updated>2009-09-29T21:27:37Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* 1.0.2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements.&lt;br /&gt;
&lt;br /&gt;
The development ''trunk'' will always contain the current version. Work for future versions can be done in separate branches, and will only be merged when the trunk is at the version in which the work was expected to be introduced.&lt;br /&gt;
&lt;br /&gt;
Bugtracker roadmap: http://bugs.mtasa.com/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
Have a look at the [[Git Coding Guidelines]] as well.&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
'''Release date:''' 22nd of August 2009&lt;br /&gt;
&lt;br /&gt;
This is the initial open-source release version.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
'''Release date:''' September 2009&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Stability bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0 and are degrading the stability or proper usage of the software&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
'''Release date:''' October 2009&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Stability bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0.1 and are degrading the stability of the software&lt;br /&gt;
&lt;br /&gt;
=== 1.0.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.2 and are degrading the stability of the software&lt;br /&gt;
* High priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.0.4 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.3 and are degrading the stability of the software&lt;br /&gt;
* Low priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Usability improvements and additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Unicode support&lt;br /&gt;
* Improved chatbox&lt;br /&gt;
* Improved and unified server database support&lt;br /&gt;
* Packet/demo recorder&lt;br /&gt;
&lt;br /&gt;
=== 1.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Script and gameplay improvements or additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Improved ped synchronization&lt;br /&gt;
* Custom animations&lt;br /&gt;
* Increased game limits&lt;br /&gt;
&lt;br /&gt;
=== 1.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Rethink and revise existing crucial parts of the software for stability, maintainability and performance&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Resource system reimplementation&lt;br /&gt;
* High-performance streamer reimplementation&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Radical engine improvements&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Integrated server-side physics engine&lt;br /&gt;
* Complete and high-performance vector/matrix math library&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21629</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21629"/>
		<updated>2009-09-29T21:26:58Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* 1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements.&lt;br /&gt;
&lt;br /&gt;
The development ''trunk'' will always contain the current version. Work for future versions can be done in separate branches, and will only be merged when the trunk is at the version in which the work was expected to be introduced.&lt;br /&gt;
&lt;br /&gt;
Bugtracker roadmap: http://bugs.mtasa.com/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
Have a look at the [[Git Coding Guidelines]] as well.&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
'''Release date:''' 22nd of August 2009&lt;br /&gt;
&lt;br /&gt;
This is the initial open-source release version.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
'''Release date:''' September 2009&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Stability bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0 and are degrading the stability or proper usage of the software&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Stability bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0.1 and are degrading the stability of the software&lt;br /&gt;
&lt;br /&gt;
=== 1.0.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.2 and are degrading the stability of the software&lt;br /&gt;
* High priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.0.4 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.3 and are degrading the stability of the software&lt;br /&gt;
* Low priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Usability improvements and additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Unicode support&lt;br /&gt;
* Improved chatbox&lt;br /&gt;
* Improved and unified server database support&lt;br /&gt;
* Packet/demo recorder&lt;br /&gt;
&lt;br /&gt;
=== 1.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Script and gameplay improvements or additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Improved ped synchronization&lt;br /&gt;
* Custom animations&lt;br /&gt;
* Increased game limits&lt;br /&gt;
&lt;br /&gt;
=== 1.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Rethink and revise existing crucial parts of the software for stability, maintainability and performance&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Resource system reimplementation&lt;br /&gt;
* High-performance streamer reimplementation&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Radical engine improvements&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Integrated server-side physics engine&lt;br /&gt;
* Complete and high-performance vector/matrix math library&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21628</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21628"/>
		<updated>2009-09-29T21:26:41Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* 1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements.&lt;br /&gt;
&lt;br /&gt;
The development ''trunk'' will always contain the current version. Work for future versions can be done in separate branches, and will only be merged when the trunk is at the version in which the work was expected to be introduced.&lt;br /&gt;
&lt;br /&gt;
Bugtracker roadmap: http://bugs.mtasa.com/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
Have a look at the [[Git Coding Guidelines]] as well.&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
'''Release date:''' 22nd of August, 2009&lt;br /&gt;
&lt;br /&gt;
This is the initial open-source release version.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
'''Release date:''' September 2009&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Stability bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0 and are degrading the stability or proper usage of the software&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Stability bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0.1 and are degrading the stability of the software&lt;br /&gt;
&lt;br /&gt;
=== 1.0.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.2 and are degrading the stability of the software&lt;br /&gt;
* High priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.0.4 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.3 and are degrading the stability of the software&lt;br /&gt;
* Low priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Usability improvements and additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Unicode support&lt;br /&gt;
* Improved chatbox&lt;br /&gt;
* Improved and unified server database support&lt;br /&gt;
* Packet/demo recorder&lt;br /&gt;
&lt;br /&gt;
=== 1.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Script and gameplay improvements or additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Improved ped synchronization&lt;br /&gt;
* Custom animations&lt;br /&gt;
* Increased game limits&lt;br /&gt;
&lt;br /&gt;
=== 1.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Rethink and revise existing crucial parts of the software for stability, maintainability and performance&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Resource system reimplementation&lt;br /&gt;
* High-performance streamer reimplementation&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Radical engine improvements&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Integrated server-side physics engine&lt;br /&gt;
* Complete and high-performance vector/matrix math library&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21627</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21627"/>
		<updated>2009-09-29T21:26:21Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* 1.0.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements.&lt;br /&gt;
&lt;br /&gt;
The development ''trunk'' will always contain the current version. Work for future versions can be done in separate branches, and will only be merged when the trunk is at the version in which the work was expected to be introduced.&lt;br /&gt;
&lt;br /&gt;
Bugtracker roadmap: http://bugs.mtasa.com/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
Have a look at the [[Git Coding Guidelines]] as well.&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
'''Release date:''' 22/08/09&lt;br /&gt;
&lt;br /&gt;
This is the initial open-source release version.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
'''Release date:''' September 2009&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Stability bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0 and are degrading the stability or proper usage of the software&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Stability bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0.1 and are degrading the stability of the software&lt;br /&gt;
&lt;br /&gt;
=== 1.0.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.2 and are degrading the stability of the software&lt;br /&gt;
* High priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.0.4 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.3 and are degrading the stability of the software&lt;br /&gt;
* Low priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Usability improvements and additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Unicode support&lt;br /&gt;
* Improved chatbox&lt;br /&gt;
* Improved and unified server database support&lt;br /&gt;
* Packet/demo recorder&lt;br /&gt;
&lt;br /&gt;
=== 1.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Script and gameplay improvements or additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Improved ped synchronization&lt;br /&gt;
* Custom animations&lt;br /&gt;
* Increased game limits&lt;br /&gt;
&lt;br /&gt;
=== 1.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Rethink and revise existing crucial parts of the software for stability, maintainability and performance&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Resource system reimplementation&lt;br /&gt;
* High-performance streamer reimplementation&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Radical engine improvements&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Integrated server-side physics engine&lt;br /&gt;
* Complete and high-performance vector/matrix math library&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21618</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21618"/>
		<updated>2009-09-29T20:21:06Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Getting started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background: #FFEEAA; padding: 5px; float:right; width: 30%;&amp;quot;&amp;gt;Latest stable version of '''Multi Theft Auto: San Andreas''' is '''{{Current Version|full}}'''. Visit the [http://mtasa.com/ main page] and grab it.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can also grab the nightly [http://code.google.com/p/multitheftauto/wiki/NightlyBuilds?tm=2 developer builds] for the latest updates.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Welcome to the Multi Theft Auto: San Andreas developer wiki. On this wiki you'll find a wealth of information on developing gamemodes and maps for Multi Theft Auto.&lt;br /&gt;
&lt;br /&gt;
There's many [[How you can help|things you can do to help us]] improve MTA - create a map, a gamemode, help document scripting functions, write example code, write tutorials or just play MTA and report the bugs you find.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or problems related to scripting, feel free to get in touch with us on our [[IRC Channel]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
====Getting started====&lt;br /&gt;
&lt;br /&gt;
* [[Client_Manual|Client Manual]]&lt;br /&gt;
* [[Server_Manual|Server Manual]]&lt;br /&gt;
* [[Known_Issues_-_FAQ|Known Issues]]&lt;br /&gt;
* [[Map_manager|Map Manager]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scripting====&lt;br /&gt;
&lt;br /&gt;
* [[Scripting Introduction|Introduction to Scripting]]&lt;br /&gt;
* [[Introduction to Scripting the GUI]]&lt;br /&gt;
* [http://robhol.net/guide/basics The basics of scripting]&lt;br /&gt;
* [[Debugging|Debugging Tutorial]] - How to find errors in your scripts&lt;br /&gt;
* [[Resources|Introduction to Resources]]&lt;br /&gt;
** [[Resource Web Access]] - How you can write websites with resources&lt;br /&gt;
** [[:Category:Resource|Resource Catalogue]]&lt;br /&gt;
** [[Meta.xml]]&lt;br /&gt;
* [[Writing_Gamemodes|Writing Gamemodes]]&lt;br /&gt;
* [[Useful_Functions|Useful functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
This section outlines all the Lua capabilites MTA or resources provide.&lt;br /&gt;
* [[:Category:Resource|Resource Catalogue]] - You must learn these to make proper scripts&lt;br /&gt;
* [[Client side scripts]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====General Lua Help====&lt;br /&gt;
Pages designed to aid your understanding of Lua&lt;br /&gt;
*[http://www.lua.org/pil/index.html &amp;quot;Programming in Lua&amp;quot; Manual]&lt;br /&gt;
*[http://lua-users.org/wiki/TutorialDirectory Lua Wiki]&lt;br /&gt;
*[http://nixstaller.berlios.de/manual/0.2/nixstaller_9.html A general guide to Lua from Nixstaller]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Map Editor====&lt;br /&gt;
*[[Resource:Editor|Manual]]&lt;br /&gt;
*[[Resource:Editor/EDF|Editor Definition Format]]&lt;br /&gt;
*[[Resource:Editor/Plugins|Plugins]]&lt;br /&gt;
*[[Resource:Editor#FAQ|Frequently Asked Questions]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Developing Multi Theft Auto====&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Git Coding Guidelines]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px; background:#CCCCFF;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Reference====&lt;br /&gt;
* [[Client Scripting Functions|Client-side Functions]]&lt;br /&gt;
* [[Client Scripting Events|Client-side Events]]&lt;br /&gt;
* [[Server Scripting Functions|Server-side Functions]]&lt;br /&gt;
* [[Server Scripting Events|Server-side Events]]&lt;br /&gt;
&amp;lt;!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --&amp;gt;&lt;br /&gt;
* [[MTA Classes]] - Detailed descriptions of all MTA custom types&lt;br /&gt;
** [[Element|MTA Elements]] / [[Element tree]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Id|ID Lists]]====&lt;br /&gt;
*[[Animations|Animations]]&lt;br /&gt;
*[[Character Skins]]&lt;br /&gt;
*[[CJ_Clothes|Clothing styles]]&lt;br /&gt;
*[[Garage|Garage IDs]]&lt;br /&gt;
*[[Interior IDs]]&lt;br /&gt;
*[[Projectiles]]&lt;br /&gt;
*[[Radar Blips]]&lt;br /&gt;
*[[Sounds]]&lt;br /&gt;
*[[Vehicle IDs]]&lt;br /&gt;
*[[Vehicle Colors]]&lt;br /&gt;
*[[Vehicle Upgrades]]&lt;br /&gt;
*[[Weapons|Weapons]]&lt;br /&gt;
*[[Weather]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
[[pl:Main Page]]&lt;br /&gt;
[[ru:Main Page]]&lt;br /&gt;
[[it:Pagina principale]]&lt;br /&gt;
[[nl:Main Page]]&lt;br /&gt;
[[de:Hauptseite]]&lt;br /&gt;
[[es:Pagina Principal]]&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Server_Manual&amp;diff=21617</id>
		<title>Server Manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Server_Manual&amp;diff=21617"/>
		<updated>2009-09-29T20:20:44Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
It is much easier than it looks to get a server up and running for your internet or LAN buddies: follow this wiki article and you will hopefully be on your way to hosting your own MTA:SA Server in no time!&lt;br /&gt;
&lt;br /&gt;
==Installing the server==&lt;br /&gt;
The dedicated server application is available in different flavours depending on the platform of the server.&lt;br /&gt;
&lt;br /&gt;
===Linux installation===&lt;br /&gt;
There are different ways of getting a Linux server up and running:&lt;br /&gt;
* [http://wiki.github.com/multitheftauto/multitheftauto/building-on-gnulinux Building the server on GNU/Linux]&lt;br /&gt;
* [http://linux.mtasa.com Getting a precompiled package]&lt;br /&gt;
&lt;br /&gt;
===Windows installation===&lt;br /&gt;
Installation of the MTA:SA server on Windows is easy as pie.&lt;br /&gt;
*Go to the [http://mtasa.com/124.html download page] and download the installer.&lt;br /&gt;
*Once the installer is downloaded, open it.&lt;br /&gt;
*Select a folder where you want to install the server.&lt;br /&gt;
*Click Install.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
''For a full explanation of acl.xml (access control list) read: [[Access_Control_List|Access Control List]]''&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuring your server==&lt;br /&gt;
The Multi Theft Auto dedicated server is initially configurable through it's console window, from within the game, and from a webbrowser. In order to make use of the two last options, it is necessary to add at least one administrator user to your configuration file.&lt;br /&gt;
&lt;br /&gt;
===General configuration===&lt;br /&gt;
All general configuration options can be found in the 'mods/deathmatch/'''mtaserver.conf'''' file and can be opened by any regular text editor.&lt;br /&gt;
&lt;br /&gt;
This file is fairly straightforward; every variable has a description of what to do with it and how to change it.&lt;br /&gt;
&lt;br /&gt;
===Port forwarding===&lt;br /&gt;
If you run your server on your own private computer, and you have an router between the internet and your computer. You need to forward 3 ports.&lt;br /&gt;
&lt;br /&gt;
First of all open the file 'mods/deathmatch/'''mtaserver.conf'''' and search for the next lines:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;serverport&amp;gt;22004&amp;lt;/serverport&amp;gt; &lt;br /&gt;
&amp;lt;httpport&amp;gt;22005&amp;lt;/httpport&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ports are needed to setup the server right. We explain later how to set them, but first if you want your server to list in the server browser there is an other port we need, and that is the ase port. &lt;br /&gt;
(quick example for how to turn ase on or of):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ase&amp;gt;1&amp;lt;/ase&amp;gt; &amp;lt;!-- 0 = off, 1 = on --&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we going to forward the ports in router, which is not needed if you already have all ports open, or if you don't have a router with a firewall. If so, skip this part.&lt;br /&gt;
&lt;br /&gt;
If you don't know how port forwarding works in your router, go to: http://portforward.com/, find your router there, and follow the instructions there.&lt;br /&gt;
&lt;br /&gt;
In almost every router you can set the port type: UDP or TCP. The following list will explain which port type is needed for what:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main server port: UDP&lt;br /&gt;
&lt;br /&gt;
HTTP Port: TCP&lt;br /&gt;
&lt;br /&gt;
ASE Port: UDP (this is needed if you want your server to appear in the server list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ASE port is also simply to get:&lt;br /&gt;
&lt;br /&gt;
ASE port = Main Server port + 123&lt;br /&gt;
&lt;br /&gt;
So, if you have the main server port set to 22003, then the ASE port will be 22126.&lt;br /&gt;
&lt;br /&gt;
Good luck!&lt;br /&gt;
&lt;br /&gt;
===Adding administrators===&lt;br /&gt;
It is strongly recommended to add at least one administrator to your server in order to make use of the built-in webserver to easily maintain and configure your server. This administrator will then also be able to log-in from within the game and control the server.&lt;br /&gt;
&lt;br /&gt;
To add an administrator to your server, follow these steps:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure your server is stopped; if your server is still running, all changes you make will be overwritten&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file 'mods/deathmatch/'accounts.xml'''' with any text editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add a new account into the file by using the XML-syntax below, we use the username &amp;quot;BennyLava&amp;quot; with password &amp;quot;123password&amp;quot; for illustration purposes&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;accounts&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;account name=&amp;quot;BennyLava&amp;quot; password=&amp;quot;123password&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/accounts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save and close the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file 'mods/deathmatch/'acl.xml'''' with any text editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add the account to the ''Admin'' group by using the XML-syntax below&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ACL&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;group name=&amp;quot;Admin&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;acl name=&amp;quot;Admin&amp;quot;/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;object name=&amp;quot;user.BennyLava&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/ACL&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can actually add your user to any group you want. Each group is linked to an ACL ([[Access Control List]]). Each ACL contains a series of specific allowed or denied rights. These groups exist so different users can be assigned different rights. The ''Admin'' group points to the ''Admin'' ACL, which is empty (thus allowing all possible commands). The ''Everyone'' group points to the ''Default'' ACL that puts a series of restrictions on the available commands (to disallow regular players from using admin commands).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You're done! You can add as many administrators or users as you want this way, take a look at some of the other groups and ACLs for example. The ACL is also accessible through the [[Access_Control_List|Lua scripting engine]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is recommended to take a look at the web interface, we will explain how to do this below.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
'''Note''': There are also ways to add accounts and edit rights for the server while it's running. &amp;quot;addaccount &amp;lt;user&amp;gt; &amp;lt;password&amp;gt;&amp;quot; is an internal command to add accounts, but you will have to use the web interface to add these accounts to specific groups/ACLs!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Using the web interface===&lt;br /&gt;
The dedicated server comes with a few Lua [[resources]] that provide a nice little web interface to your server. This can be used to easily maintain your server, as it allows you to add users, start/stop resources, and more.&lt;br /&gt;
&lt;br /&gt;
The web interface resources are enabled by default and are served through the built-in HTTP web server. To make sure the built-in HTTP web server runs on a port you like (22005 by default), follow these steps:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure your server is stopped&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file '''mods/deathmatch/mtaserver.conf''' with any text editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Verify that the HTTP server is enabled:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;httpserver&amp;gt;1&amp;lt;/httpserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Change the HTTP server port to your liking:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;httpport&amp;gt;22005&amp;lt;/httpport&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save and close the configuration file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start your server&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you happened to have changed the start-up resources in your configuration file, make sure the following resources are started:&lt;br /&gt;
&lt;br /&gt;
# resourcebrowser&lt;br /&gt;
# resourcemanager&lt;br /&gt;
# webadmin&lt;br /&gt;
# webmap&lt;br /&gt;
&lt;br /&gt;
These are automatically started in the default configuration file, in case you just installed your server.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open a web browser (Internet Explorer 6 or 7 are NOT supported: use [http://www.mozilla.com/firefox Mozilla Firefox], [http://www.google.com/chrome Google Chrome], [http://www.apple.com/safari/download Apple Safari], [http://www.opera.com Opera] or others) and navigate to the HTTP server URL: '''http://server:port/'''. For example, If you are running a local server on HTTP port 22005, use '''http://127.0.0.1:22005/'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Enter the username and password of the administrator you added in the previous section.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
You should now be able to maintain your server from the web interface.&lt;br /&gt;
&lt;br /&gt;
=== Configuring an external web server ===&lt;br /&gt;
The built-in web server is also used to serve files that are required by resources running on your server to any player that is connected to your server. For example, if you are running a game script with a scripted graphical user interface, or custom models, these need to be transferred to every connected player in order to function properly. This is done by either the built-in web server, or an external web server (that is usually a bit faster) but needs to be set up separately.&lt;br /&gt;
&lt;br /&gt;
For performance or consistency reasons during the game, you could choose to make use of such an external web server if you have one set up. The external web server needs to be accessible for the public, so any client will be able to download the necessary client-side files in order to join and play on your server.&lt;br /&gt;
&lt;br /&gt;
To enable downloading off an external web server, you should configure the ''httpdownload'' and ''httpdownloadurl'' tags in your server configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;httpdownload&amp;gt;1&amp;lt;/httpdownload&amp;gt;	&lt;br /&gt;
&amp;lt;httpdownloadurl&amp;gt;http://www.myserver.tld/directory/here&amp;lt;/httpdownloadurl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since all the default resources provided with the dedicated server are zipped, and are normally automatically extracted by the built-in web server, you now have to provide a way for the clients to download the unextracted files to their computers. The unextracted files are always available in the '''&amp;lt;SERVER&amp;gt;/mods/deathmatch/resourcecache''' directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Launch the dedicated server once and exit again. This will extract the zip files into the '''&amp;lt;SERVER&amp;gt;/mods/deathmatch/resourcecache''' directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Go into the directory above and copy the resources to your external web server's public directory, this can be done in several ways:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you don't care about your '''server-side files being publically available''': create a symbolic link (Linux), a junction (Windows) or just plain copy the contents of the '''resourcecache''' directory to your public web server directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you don't want your server files to be publically available through your web server: go into the '''resourcecache''' directory and manually copy the folders over to your public web server directory, removing any server-side files (they are '''not''' necessary for the client-side downloading) you do not want to be hosting on your web server.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A quick way of securing your server-side files is currently not available. We will investigate into developing a tool that automatically copies only the necessary client-side files for all resources on your server.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note 1''': Please try to avoid any special characters (e.g. ~, !) in your download URLs.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Note 2''': Please do not use a trailing slash in your download URL (e.g. ''hxxp://www.myserver.tld/directory'' rather than ''hxxp://www.myserver.tld/directory/'')&lt;br /&gt;
&lt;br /&gt;
==Starting your server==&lt;br /&gt;
Begin by making sure that you have finished all configuration of your server, starting your server is the last stage so everything must be ready!&lt;br /&gt;
&lt;br /&gt;
To start your server double click on MTA Server.exe, make sure you allow it through any firewalls and forward ports where nessessary.&lt;br /&gt;
&lt;br /&gt;
==Installing/Updating resources on your server==&lt;br /&gt;
Resources can come in two formats, either a ZIP format or just a normal folder with the script files inside it. The MTA:SA server supports both these methods.&lt;br /&gt;
&lt;br /&gt;
# Move or copy the new resource to your &amp;lt;SERVER&amp;gt;\mods\deathmatch\resources folder.&lt;br /&gt;
# In the server window type in the command &amp;quot;refresh&amp;quot; (without the quotes), this will re-scan the resources folder and update the live resources where necessary.&lt;br /&gt;
&lt;br /&gt;
==Uninstalling resources==&lt;br /&gt;
Resources can easily be removed from your server if you no longer want them.&lt;br /&gt;
&lt;br /&gt;
# Delete the ZIP file or the folder of the resource you wish to uninstall&lt;br /&gt;
# In the server window type in the command &amp;quot;refresh&amp;quot; (without the quotes), this will re-scan the resources folder and update the live resources where necessary.&lt;br /&gt;
&lt;br /&gt;
==Administrating your server==&lt;br /&gt;
You can start resources by typing the command &amp;quot;start resourcename&amp;quot; in the server console, or stop ones with &amp;quot;stop resourcename&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
It's also possible to execute these and other admin commands from the ingame console (which you can bring up with the ` key or F8); for this to work, you first need to log in with the command &amp;quot;login username password&amp;quot;. Additionally, you can press the p key to bring up the admin panel: this is a graphical interface which allows you to easily kick or ban misbehaving players, among others.&lt;br /&gt;
&lt;br /&gt;
For further commands, type &amp;quot;help&amp;quot; in a console.&lt;br /&gt;
&lt;br /&gt;
==Starting a map/gamemode==&lt;br /&gt;
See the commands section of the documentation for [[Resource:Map manager|mapmanager]] for more information.&lt;br /&gt;
&lt;br /&gt;
==Useful Notes==&lt;br /&gt;
&lt;br /&gt;
# You may also update the resources while ingame as long as you have the correct access levels by typing &amp;quot;refresh&amp;quot; in the clients console or &amp;quot;/refresh&amp;quot; in the chat window. This may cause a second of lag if you have many resources.&lt;br /&gt;
# In the above instructions, &amp;lt;SERVER&amp;gt; is the path to your server's main directory. In most cases this is C:\Program Files\MTA San Andreas\server&lt;br /&gt;
# You can choose a different config file for the server to use by passing it in the command line after a --config argument, e.g. mtaserver.exe --config anotherconfig.cfg.&lt;br /&gt;
# Do not be alarmed by the warning regarding the parsing of the settings.xml file. This happens because your server installation is still clean and unused.&lt;br /&gt;
&lt;br /&gt;
====Need further help?====&lt;br /&gt;
Why not pop over to our [http://forum.mtasa.com/ Forums] or join us on [irc://irc.multitheftauto.com/mta IRC] (irc.multitheftauto.com #mta - [http://www.mirc.com MIRC])&lt;br /&gt;
&lt;br /&gt;
[[es:Manual Servidor Deathmatch]]&lt;br /&gt;
[[de:MTA DM Server Anleitung]]&lt;br /&gt;
[[it:Manuale del Server]]&lt;br /&gt;
[[nl:Deathmatch Server Manual]]&lt;br /&gt;
[[ru:Deathmatch Server Manual]]&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Server_Manual&amp;diff=21616</id>
		<title>Server Manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Server_Manual&amp;diff=21616"/>
		<updated>2009-09-29T20:19:40Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Linux installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
It is much easier than it looks to get a server up and running for your internet or LAN buddies: follow this wiki article and you will hopefully be on your way to hosting your own MTA:SA DM Server in no time!&lt;br /&gt;
&lt;br /&gt;
==Installing the server==&lt;br /&gt;
The dedicated server application is available in different flavours depending on the platform of the server.&lt;br /&gt;
&lt;br /&gt;
===Linux installation===&lt;br /&gt;
There are different ways of getting a Linux server up and running:&lt;br /&gt;
* [http://wiki.github.com/multitheftauto/multitheftauto/building-on-gnulinux Building the server on GNU/Linux]&lt;br /&gt;
* [http://linux.mtasa.com Getting a precompiled package]&lt;br /&gt;
&lt;br /&gt;
===Windows installation===&lt;br /&gt;
Installation of the MTA:SA DM server on Windows is easy as pie.&lt;br /&gt;
*Go to the [http://mtasa.com/124.html download page] and download the installer.&lt;br /&gt;
*Once the installer is downloaded, open it.&lt;br /&gt;
*Select a folder where you want to install the server.&lt;br /&gt;
*Click Install.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
''For a full explanation of acl.xml (access control list) read: [[Access_Control_List|Access Control List]]''&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuring your server==&lt;br /&gt;
The Multi Theft Auto dedicated server is initially configurable through it's console window, from within the game, and from a webbrowser. In order to make use of the two last options, it is necessary to add at least one administrator user to your configuration file.&lt;br /&gt;
&lt;br /&gt;
===General configuration===&lt;br /&gt;
All general configuration options can be found in the 'mods/deathmatch/'''mtaserver.conf'''' file and can be opened by any regular text editor.&lt;br /&gt;
&lt;br /&gt;
This file is fairly straightforward; every variable has a description of what to do with it and how to change it.&lt;br /&gt;
&lt;br /&gt;
===Port forwarding===&lt;br /&gt;
If you run your server on your own private computer, and you have an router between the internet and your computer. You need to forward 3 ports.&lt;br /&gt;
&lt;br /&gt;
First of all open the file 'mods/deathmatch/'''mtaserver.conf'''' and search for the next lines:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;serverport&amp;gt;22004&amp;lt;/serverport&amp;gt; &lt;br /&gt;
&amp;lt;httpport&amp;gt;22005&amp;lt;/httpport&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ports are needed to setup the server right. We explain later how to set them, but first if you want your server to list in the server browser there is an other port we need, and that is the ase port. &lt;br /&gt;
(quick example for how to turn ase on or of):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ase&amp;gt;1&amp;lt;/ase&amp;gt; &amp;lt;!-- 0 = off, 1 = on --&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we going to forward the ports in router, which is not needed if you already have all ports open, or if you don't have a router with a firewall. If so, skip this part.&lt;br /&gt;
&lt;br /&gt;
If you don't know how port forwarding works in your router, go to: http://portforward.com/, find your router there, and follow the instructions there.&lt;br /&gt;
&lt;br /&gt;
In almost every router you can set the port type: UDP or TCP. The following list will explain which port type is needed for what:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main server port: UDP&lt;br /&gt;
&lt;br /&gt;
HTTP Port: TCP&lt;br /&gt;
&lt;br /&gt;
ASE Port: UDP (this is needed if you want your server to appear in the server list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ASE port is also simply to get:&lt;br /&gt;
&lt;br /&gt;
ASE port = Main Server port + 123&lt;br /&gt;
&lt;br /&gt;
So, if you have the main server port set to 22003, then the ASE port will be 22126.&lt;br /&gt;
&lt;br /&gt;
Good luck!&lt;br /&gt;
&lt;br /&gt;
===Adding administrators===&lt;br /&gt;
It is strongly recommended to add at least one administrator to your server in order to make use of the built-in webserver to easily maintain and configure your server. This administrator will then also be able to log-in from within the game and control the server.&lt;br /&gt;
&lt;br /&gt;
To add an administrator to your server, follow these steps:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure your server is stopped; if your server is still running, all changes you make will be overwritten&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file 'mods/deathmatch/'accounts.xml'''' with any text editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add a new account into the file by using the XML-syntax below, we use the username &amp;quot;BennyLava&amp;quot; with password &amp;quot;123password&amp;quot; for illustration purposes&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;accounts&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;account name=&amp;quot;BennyLava&amp;quot; password=&amp;quot;123password&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/accounts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save and close the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file 'mods/deathmatch/'acl.xml'''' with any text editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add the account to the ''Admin'' group by using the XML-syntax below&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ACL&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;group name=&amp;quot;Admin&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;acl name=&amp;quot;Admin&amp;quot;/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;object name=&amp;quot;user.BennyLava&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/ACL&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can actually add your user to any group you want. Each group is linked to an ACL ([[Access Control List]]). Each ACL contains a series of specific allowed or denied rights. These groups exist so different users can be assigned different rights. The ''Admin'' group points to the ''Admin'' ACL, which is empty (thus allowing all possible commands). The ''Everyone'' group points to the ''Default'' ACL that puts a series of restrictions on the available commands (to disallow regular players from using admin commands).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You're done! You can add as many administrators or users as you want this way, take a look at some of the other groups and ACLs for example. The ACL is also accessible through the [[Access_Control_List|Lua scripting engine]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is recommended to take a look at the web interface, we will explain how to do this below.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
'''Note''': There are also ways to add accounts and edit rights for the server while it's running. &amp;quot;addaccount &amp;lt;user&amp;gt; &amp;lt;password&amp;gt;&amp;quot; is an internal command to add accounts, but you will have to use the web interface to add these accounts to specific groups/ACLs!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Using the web interface===&lt;br /&gt;
The dedicated server comes with a few Lua [[resources]] that provide a nice little web interface to your server. This can be used to easily maintain your server, as it allows you to add users, start/stop resources, and more.&lt;br /&gt;
&lt;br /&gt;
The web interface resources are enabled by default and are served through the built-in HTTP web server. To make sure the built-in HTTP web server runs on a port you like (22005 by default), follow these steps:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure your server is stopped&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file '''mods/deathmatch/mtaserver.conf''' with any text editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Verify that the HTTP server is enabled:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;httpserver&amp;gt;1&amp;lt;/httpserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Change the HTTP server port to your liking:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;httpport&amp;gt;22005&amp;lt;/httpport&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save and close the configuration file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start your server&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you happened to have changed the start-up resources in your configuration file, make sure the following resources are started:&lt;br /&gt;
&lt;br /&gt;
# resourcebrowser&lt;br /&gt;
# resourcemanager&lt;br /&gt;
# webadmin&lt;br /&gt;
# webmap&lt;br /&gt;
&lt;br /&gt;
These are automatically started in the default configuration file, in case you just installed your server.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open a web browser (Internet Explorer 6 or 7 are NOT supported: use [http://www.mozilla.com/firefox Mozilla Firefox], [http://www.google.com/chrome Google Chrome], [http://www.apple.com/safari/download Apple Safari], [http://www.opera.com Opera] or others) and navigate to the HTTP server URL: '''http://server:port/'''. For example, If you are running a local server on HTTP port 22005, use '''http://127.0.0.1:22005/'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Enter the username and password of the administrator you added in the previous section.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
You should now be able to maintain your server from the web interface.&lt;br /&gt;
&lt;br /&gt;
=== Configuring an external web server ===&lt;br /&gt;
The built-in web server is also used to serve files that are required by resources running on your server to any player that is connected to your server. For example, if you are running a game script with a scripted graphical user interface, or custom models, these need to be transferred to every connected player in order to function properly. This is done by either the built-in web server, or an external web server (that is usually a bit faster) but needs to be set up separately.&lt;br /&gt;
&lt;br /&gt;
For performance or consistency reasons during the game, you could choose to make use of such an external web server if you have one set up. The external web server needs to be accessible for the public, so any client will be able to download the necessary client-side files in order to join and play on your server.&lt;br /&gt;
&lt;br /&gt;
To enable downloading off an external web server, you should configure the ''httpdownload'' and ''httpdownloadurl'' tags in your server configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;httpdownload&amp;gt;1&amp;lt;/httpdownload&amp;gt;	&lt;br /&gt;
&amp;lt;httpdownloadurl&amp;gt;http://www.myserver.tld/directory/here&amp;lt;/httpdownloadurl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since all the default resources provided with the dedicated server are zipped, and are normally automatically extracted by the built-in web server, you now have to provide a way for the clients to download the unextracted files to their computers. The unextracted files are always available in the '''&amp;lt;SERVER&amp;gt;/mods/deathmatch/resourcecache''' directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Launch the dedicated server once and exit again. This will extract the zip files into the '''&amp;lt;SERVER&amp;gt;/mods/deathmatch/resourcecache''' directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Go into the directory above and copy the resources to your external web server's public directory, this can be done in several ways:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you don't care about your '''server-side files being publically available''': create a symbolic link (Linux), a junction (Windows) or just plain copy the contents of the '''resourcecache''' directory to your public web server directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you don't want your server files to be publically available through your web server: go into the '''resourcecache''' directory and manually copy the folders over to your public web server directory, removing any server-side files (they are '''not''' necessary for the client-side downloading) you do not want to be hosting on your web server.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A quick way of securing your server-side files is currently not available. We will investigate into developing a tool that automatically copies only the necessary client-side files for all resources on your server.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note 1''': Please try to avoid any special characters (e.g. ~, !) in your download URLs.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Note 2''': Please do not use a trailing slash in your download URL (e.g. ''hxxp://www.myserver.tld/directory'' rather than ''hxxp://www.myserver.tld/directory/'')&lt;br /&gt;
&lt;br /&gt;
==Starting your server==&lt;br /&gt;
Begin by making sure that you have finished all configuration of your server, starting your server is the last stage so everything must be ready!&lt;br /&gt;
&lt;br /&gt;
To start your server double click on MTA Server.exe, make sure you allow it through any firewalls and forward ports where nessessary.&lt;br /&gt;
&lt;br /&gt;
==Installing/Updating resources on your server==&lt;br /&gt;
Resources can come in two formats, either a ZIP format or just a normal folder with the script files inside it. The MTA:SA DM server supports both these methods.&lt;br /&gt;
&lt;br /&gt;
# Move or copy the new resource to your &amp;lt;SERVER&amp;gt;\mods\deathmatch\resources folder.&lt;br /&gt;
# In the server window type in the command &amp;quot;refresh&amp;quot; (without the quotes), this will re-scan the resources folder and update the live resources where necessary.&lt;br /&gt;
&lt;br /&gt;
==Uninstalling resources==&lt;br /&gt;
Resources can easily be removed from your server if you no longer want them.&lt;br /&gt;
&lt;br /&gt;
# Delete the ZIP file or the folder of the resource you wish to uninstall&lt;br /&gt;
# In the server window type in the command &amp;quot;refresh&amp;quot; (without the quotes), this will re-scan the resources folder and update the live resources where necessary.&lt;br /&gt;
&lt;br /&gt;
==Administrating your server==&lt;br /&gt;
You can start resources by typing the command &amp;quot;start resourcename&amp;quot; in the server console, or stop ones with &amp;quot;stop resourcename&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
It's also possible to execute these and other admin commands from the ingame console (which you can bring up with the ` key or F8); for this to work, you first need to log in with the command &amp;quot;login username password&amp;quot;. Additionally, you can press the p key to bring up the admin panel: this is a graphical interface which allows you to easily kick or ban misbehaving players, among others.&lt;br /&gt;
&lt;br /&gt;
For further commands, type &amp;quot;help&amp;quot; in a console.&lt;br /&gt;
&lt;br /&gt;
==Starting a map/gamemode==&lt;br /&gt;
See the commands section of the documentation for [[Resource:Map manager|mapmanager]] for more information.&lt;br /&gt;
&lt;br /&gt;
==Useful Notes==&lt;br /&gt;
&lt;br /&gt;
# You may also update the resources while ingame as long as you have the correct access levels by typing &amp;quot;refresh&amp;quot; in the clients console or &amp;quot;/refresh&amp;quot; in the chat window. This may cause a second of lag if you have many resources.&lt;br /&gt;
# In the above instructions, &amp;lt;SERVER&amp;gt; is the path to your server's main directory. In most cases this is C:\Program Files\MTA San Andreas\server&lt;br /&gt;
# You can choose a different config file for the server to use by passing it in the command line after a --config argument, e.g. mtaserver.exe --config anotherconfig.cfg.&lt;br /&gt;
# Do not be alarmed by the warning regarding the parsing of the settings.xml file. This happens because your server installation is still clean and unused.&lt;br /&gt;
&lt;br /&gt;
====Need further help?====&lt;br /&gt;
Why not pop over to our [http://forum.mtasa.com/ Forums] or join us on [irc://irc.multitheftauto.com/mta IRC] (irc.multitheftauto.com #mta - [http://www.mirc.com MIRC])&lt;br /&gt;
&lt;br /&gt;
[[es:Manual Servidor Deathmatch]]&lt;br /&gt;
[[de:MTA DM Server Anleitung]]&lt;br /&gt;
[[it:Manuale del Server]]&lt;br /&gt;
[[nl:Deathmatch Server Manual]]&lt;br /&gt;
[[ru:Deathmatch Server Manual]]&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Deathmatch_Server_Manual&amp;diff=21615</id>
		<title>Deathmatch Server Manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Deathmatch_Server_Manual&amp;diff=21615"/>
		<updated>2009-09-29T20:17:57Z</updated>

		<summary type="html">&lt;p&gt;IJs: moved Deathmatch Server Manual to Server Manual&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Server Manual]]&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Server_Manual&amp;diff=21614</id>
		<title>Server Manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Server_Manual&amp;diff=21614"/>
		<updated>2009-09-29T20:17:57Z</updated>

		<summary type="html">&lt;p&gt;IJs: moved Deathmatch Server Manual to Server Manual&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
It is much easier than it looks to get a server up and running for your internet or LAN buddies: follow this wiki article and you will hopefully be on your way to hosting your own MTA:SA DM Server in no time!&lt;br /&gt;
&lt;br /&gt;
==Installing the server==&lt;br /&gt;
The dedicated server application is available in different flavours depending on the platform of the server.&lt;br /&gt;
&lt;br /&gt;
===Linux installation===&lt;br /&gt;
Follow the link to learn how to [http://code.google.com/p/multitheftauto/wiki/HowToBuildLinux compile the server on Linux]&lt;br /&gt;
&lt;br /&gt;
===Windows installation===&lt;br /&gt;
Installation of the MTA:SA DM server on Windows is easy as pie.&lt;br /&gt;
*Go to the [http://mtasa.com/124.html download page] and download the installer.&lt;br /&gt;
*Once the installer is downloaded, open it.&lt;br /&gt;
*Select a folder where you want to install the server.&lt;br /&gt;
*Click Install.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
''For a full explanation of acl.xml (access control list) read: [[Access_Control_List|Access Control List]]''&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuring your server==&lt;br /&gt;
The Multi Theft Auto dedicated server is initially configurable through it's console window, from within the game, and from a webbrowser. In order to make use of the two last options, it is necessary to add at least one administrator user to your configuration file.&lt;br /&gt;
&lt;br /&gt;
===General configuration===&lt;br /&gt;
All general configuration options can be found in the 'mods/deathmatch/'''mtaserver.conf'''' file and can be opened by any regular text editor.&lt;br /&gt;
&lt;br /&gt;
This file is fairly straightforward; every variable has a description of what to do with it and how to change it.&lt;br /&gt;
&lt;br /&gt;
===Port forwarding===&lt;br /&gt;
If you run your server on your own private computer, and you have an router between the internet and your computer. You need to forward 3 ports.&lt;br /&gt;
&lt;br /&gt;
First of all open the file 'mods/deathmatch/'''mtaserver.conf'''' and search for the next lines:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;serverport&amp;gt;22004&amp;lt;/serverport&amp;gt; &lt;br /&gt;
&amp;lt;httpport&amp;gt;22005&amp;lt;/httpport&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ports are needed to setup the server right. We explain later how to set them, but first if you want your server to list in the server browser there is an other port we need, and that is the ase port. &lt;br /&gt;
(quick example for how to turn ase on or of):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ase&amp;gt;1&amp;lt;/ase&amp;gt; &amp;lt;!-- 0 = off, 1 = on --&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we going to forward the ports in router, which is not needed if you already have all ports open, or if you don't have a router with a firewall. If so, skip this part.&lt;br /&gt;
&lt;br /&gt;
If you don't know how port forwarding works in your router, go to: http://portforward.com/, find your router there, and follow the instructions there.&lt;br /&gt;
&lt;br /&gt;
In almost every router you can set the port type: UDP or TCP. The following list will explain which port type is needed for what:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main server port: UDP&lt;br /&gt;
&lt;br /&gt;
HTTP Port: TCP&lt;br /&gt;
&lt;br /&gt;
ASE Port: UDP (this is needed if you want your server to appear in the server list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ASE port is also simply to get:&lt;br /&gt;
&lt;br /&gt;
ASE port = Main Server port + 123&lt;br /&gt;
&lt;br /&gt;
So, if you have the main server port set to 22003, then the ASE port will be 22126.&lt;br /&gt;
&lt;br /&gt;
Good luck!&lt;br /&gt;
&lt;br /&gt;
===Adding administrators===&lt;br /&gt;
It is strongly recommended to add at least one administrator to your server in order to make use of the built-in webserver to easily maintain and configure your server. This administrator will then also be able to log-in from within the game and control the server.&lt;br /&gt;
&lt;br /&gt;
To add an administrator to your server, follow these steps:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure your server is stopped; if your server is still running, all changes you make will be overwritten&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file 'mods/deathmatch/'accounts.xml'''' with any text editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add a new account into the file by using the XML-syntax below, we use the username &amp;quot;BennyLava&amp;quot; with password &amp;quot;123password&amp;quot; for illustration purposes&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;accounts&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;account name=&amp;quot;BennyLava&amp;quot; password=&amp;quot;123password&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/accounts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save and close the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file 'mods/deathmatch/'acl.xml'''' with any text editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add the account to the ''Admin'' group by using the XML-syntax below&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ACL&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;group name=&amp;quot;Admin&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;acl name=&amp;quot;Admin&amp;quot;/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;object name=&amp;quot;user.BennyLava&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/ACL&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can actually add your user to any group you want. Each group is linked to an ACL ([[Access Control List]]). Each ACL contains a series of specific allowed or denied rights. These groups exist so different users can be assigned different rights. The ''Admin'' group points to the ''Admin'' ACL, which is empty (thus allowing all possible commands). The ''Everyone'' group points to the ''Default'' ACL that puts a series of restrictions on the available commands (to disallow regular players from using admin commands).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You're done! You can add as many administrators or users as you want this way, take a look at some of the other groups and ACLs for example. The ACL is also accessible through the [[Access_Control_List|Lua scripting engine]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is recommended to take a look at the web interface, we will explain how to do this below.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
'''Note''': There are also ways to add accounts and edit rights for the server while it's running. &amp;quot;addaccount &amp;lt;user&amp;gt; &amp;lt;password&amp;gt;&amp;quot; is an internal command to add accounts, but you will have to use the web interface to add these accounts to specific groups/ACLs!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Using the web interface===&lt;br /&gt;
The dedicated server comes with a few Lua [[resources]] that provide a nice little web interface to your server. This can be used to easily maintain your server, as it allows you to add users, start/stop resources, and more.&lt;br /&gt;
&lt;br /&gt;
The web interface resources are enabled by default and are served through the built-in HTTP web server. To make sure the built-in HTTP web server runs on a port you like (22005 by default), follow these steps:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure your server is stopped&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file '''mods/deathmatch/mtaserver.conf''' with any text editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Verify that the HTTP server is enabled:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;httpserver&amp;gt;1&amp;lt;/httpserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Change the HTTP server port to your liking:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;httpport&amp;gt;22005&amp;lt;/httpport&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save and close the configuration file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start your server&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you happened to have changed the start-up resources in your configuration file, make sure the following resources are started:&lt;br /&gt;
&lt;br /&gt;
# resourcebrowser&lt;br /&gt;
# resourcemanager&lt;br /&gt;
# webadmin&lt;br /&gt;
# webmap&lt;br /&gt;
&lt;br /&gt;
These are automatically started in the default configuration file, in case you just installed your server.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open a web browser (Internet Explorer 6 or 7 are NOT supported: use [http://www.mozilla.com/firefox Mozilla Firefox], [http://www.google.com/chrome Google Chrome], [http://www.apple.com/safari/download Apple Safari], [http://www.opera.com Opera] or others) and navigate to the HTTP server URL: '''http://server:port/'''. For example, If you are running a local server on HTTP port 22005, use '''http://127.0.0.1:22005/'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Enter the username and password of the administrator you added in the previous section.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
You should now be able to maintain your server from the web interface.&lt;br /&gt;
&lt;br /&gt;
=== Configuring an external web server ===&lt;br /&gt;
The built-in web server is also used to serve files that are required by resources running on your server to any player that is connected to your server. For example, if you are running a game script with a scripted graphical user interface, or custom models, these need to be transferred to every connected player in order to function properly. This is done by either the built-in web server, or an external web server (that is usually a bit faster) but needs to be set up separately.&lt;br /&gt;
&lt;br /&gt;
For performance or consistency reasons during the game, you could choose to make use of such an external web server if you have one set up. The external web server needs to be accessible for the public, so any client will be able to download the necessary client-side files in order to join and play on your server.&lt;br /&gt;
&lt;br /&gt;
To enable downloading off an external web server, you should configure the ''httpdownload'' and ''httpdownloadurl'' tags in your server configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;httpdownload&amp;gt;1&amp;lt;/httpdownload&amp;gt;	&lt;br /&gt;
&amp;lt;httpdownloadurl&amp;gt;http://www.myserver.tld/directory/here&amp;lt;/httpdownloadurl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since all the default resources provided with the dedicated server are zipped, and are normally automatically extracted by the built-in web server, you now have to provide a way for the clients to download the unextracted files to their computers. The unextracted files are always available in the '''&amp;lt;SERVER&amp;gt;/mods/deathmatch/resourcecache''' directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Launch the dedicated server once and exit again. This will extract the zip files into the '''&amp;lt;SERVER&amp;gt;/mods/deathmatch/resourcecache''' directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Go into the directory above and copy the resources to your external web server's public directory, this can be done in several ways:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you don't care about your '''server-side files being publically available''': create a symbolic link (Linux), a junction (Windows) or just plain copy the contents of the '''resourcecache''' directory to your public web server directory.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you don't want your server files to be publically available through your web server: go into the '''resourcecache''' directory and manually copy the folders over to your public web server directory, removing any server-side files (they are '''not''' necessary for the client-side downloading) you do not want to be hosting on your web server.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A quick way of securing your server-side files is currently not available. We will investigate into developing a tool that automatically copies only the necessary client-side files for all resources on your server.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note 1''': Please try to avoid any special characters (e.g. ~, !) in your download URLs.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Note 2''': Please do not use a trailing slash in your download URL (e.g. ''hxxp://www.myserver.tld/directory'' rather than ''hxxp://www.myserver.tld/directory/'')&lt;br /&gt;
&lt;br /&gt;
==Starting your server==&lt;br /&gt;
Begin by making sure that you have finished all configuration of your server, starting your server is the last stage so everything must be ready!&lt;br /&gt;
&lt;br /&gt;
To start your server double click on MTA Server.exe, make sure you allow it through any firewalls and forward ports where nessessary.&lt;br /&gt;
&lt;br /&gt;
==Installing/Updating resources on your server==&lt;br /&gt;
Resources can come in two formats, either a ZIP format or just a normal folder with the script files inside it. The MTA:SA DM server supports both these methods.&lt;br /&gt;
&lt;br /&gt;
# Move or copy the new resource to your &amp;lt;SERVER&amp;gt;\mods\deathmatch\resources folder.&lt;br /&gt;
# In the server window type in the command &amp;quot;refresh&amp;quot; (without the quotes), this will re-scan the resources folder and update the live resources where necessary.&lt;br /&gt;
&lt;br /&gt;
==Uninstalling resources==&lt;br /&gt;
Resources can easily be removed from your server if you no longer want them.&lt;br /&gt;
&lt;br /&gt;
# Delete the ZIP file or the folder of the resource you wish to uninstall&lt;br /&gt;
# In the server window type in the command &amp;quot;refresh&amp;quot; (without the quotes), this will re-scan the resources folder and update the live resources where necessary.&lt;br /&gt;
&lt;br /&gt;
==Administrating your server==&lt;br /&gt;
You can start resources by typing the command &amp;quot;start resourcename&amp;quot; in the server console, or stop ones with &amp;quot;stop resourcename&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
It's also possible to execute these and other admin commands from the ingame console (which you can bring up with the ` key or F8); for this to work, you first need to log in with the command &amp;quot;login username password&amp;quot;. Additionally, you can press the p key to bring up the admin panel: this is a graphical interface which allows you to easily kick or ban misbehaving players, among others.&lt;br /&gt;
&lt;br /&gt;
For further commands, type &amp;quot;help&amp;quot; in a console.&lt;br /&gt;
&lt;br /&gt;
==Starting a map/gamemode==&lt;br /&gt;
See the commands section of the documentation for [[Resource:Map manager|mapmanager]] for more information.&lt;br /&gt;
&lt;br /&gt;
==Useful Notes==&lt;br /&gt;
&lt;br /&gt;
# You may also update the resources while ingame as long as you have the correct access levels by typing &amp;quot;refresh&amp;quot; in the clients console or &amp;quot;/refresh&amp;quot; in the chat window. This may cause a second of lag if you have many resources.&lt;br /&gt;
# In the above instructions, &amp;lt;SERVER&amp;gt; is the path to your server's main directory. In most cases this is C:\Program Files\MTA San Andreas\server&lt;br /&gt;
# You can choose a different config file for the server to use by passing it in the command line after a --config argument, e.g. mtaserver.exe --config anotherconfig.cfg.&lt;br /&gt;
# Do not be alarmed by the warning regarding the parsing of the settings.xml file. This happens because your server installation is still clean and unused.&lt;br /&gt;
&lt;br /&gt;
====Need further help?====&lt;br /&gt;
Why not pop over to our [http://forum.mtasa.com/ Forums] or join us on [irc://irc.multitheftauto.com/mta IRC] (irc.multitheftauto.com #mta - [http://www.mirc.com MIRC])&lt;br /&gt;
&lt;br /&gt;
[[es:Manual Servidor Deathmatch]]&lt;br /&gt;
[[de:MTA DM Server Anleitung]]&lt;br /&gt;
[[it:Manuale del Server]]&lt;br /&gt;
[[nl:Deathmatch Server Manual]]&lt;br /&gt;
[[ru:Deathmatch Server Manual]]&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Deathmatch_Client_Manual&amp;diff=21613</id>
		<title>Deathmatch Client Manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Deathmatch_Client_Manual&amp;diff=21613"/>
		<updated>2009-09-29T20:17:46Z</updated>

		<summary type="html">&lt;p&gt;IJs: moved Deathmatch Client Manual to Client Manual&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Client Manual]]&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Client_Manual&amp;diff=21612</id>
		<title>Client Manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Client_Manual&amp;diff=21612"/>
		<updated>2009-09-29T20:17:46Z</updated>

		<summary type="html">&lt;p&gt;IJs: moved Deathmatch Client Manual to Client Manual&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Multi Theft Auto: San Andreas is the latest in a series of fan-created multiplayer modifications for the Grand Theft Auto games (PC versions only). For the GTA3 and Vice City versions that run on the old core, visit [http://www.multitheftauto.com/ http://www.multitheftauto.com]. This mod is not endorsed by Rockstar Games or Take 2 Interactive.&lt;br /&gt;
&lt;br /&gt;
==Before you start==&lt;br /&gt;
&lt;br /&gt;
Before you install Multi Theft Auto: San Andreas, first make sure that there are no modifications to GTA:SA installed. These will conflict with MTA. If you would like to keep your single player mods, you can create two installations by reinstalling San Andreas to a second folder on your hard drive.&lt;br /&gt;
&lt;br /&gt;
Also make sure that you are running '''Windows XP''', '''Windows 2000''', '''Windows Vista''' or '''Windows Server 2003''' and that your machine is capable of running the game in single player. Note that if you are running single player on the absolute minimum requirements, you will experience slowdowns in MTA as it takes up extra processing power.&lt;br /&gt;
&lt;br /&gt;
'''Note: MTA:SA will only work on GTA:SA v1.0.''' If you bought the game recently, it is likely that you have a later version.&lt;br /&gt;
&lt;br /&gt;
Make sure you head over to the [[Known_Issues_-_FAQ|Known Issues]] page if you have issues, or join us on IRC @ irc://irc.multitheftauto.com/mta&lt;br /&gt;
&lt;br /&gt;
===System requirements===&lt;br /&gt;
The minimum system requirements for Multi Theft Auto: San Andreas are slightly higher than the original minimum requirements for Grand Theft Auto: San Andreas.&lt;br /&gt;
* Intel Pentium 4 or AMD Athlon XP&lt;br /&gt;
* 512MB DDR RAM&lt;br /&gt;
* Clean installation of Grand Theft Auto: San Andreas, version 1.0 (American or European)&lt;br /&gt;
* 3.7GB of free hard disk space (3.6GB for a minimum Grand Theft Auto installation)&lt;br /&gt;
* nVidia GeForce 4 series or ATI Radeon 8xxx series (64MB RAM and DirectX 9.0 compatible)&lt;br /&gt;
* DirectX 9.0 compatible sound card&lt;br /&gt;
* Keyboard and mouse&lt;br /&gt;
* Broadband internet access (for smooth online play)&lt;br /&gt;
&lt;br /&gt;
For extra features, a pixel shader 2.0 compatible videocard (nVidia GeForce FX series or higher, ATI Radeon 9xxx series or higher) is recommended.&lt;br /&gt;
&lt;br /&gt;
For extra loading performance, more RAM is recommended.&lt;br /&gt;
&lt;br /&gt;
==Installing the game==&lt;br /&gt;
&lt;br /&gt;
'''This section will need to be updated when we get an installer'''&lt;br /&gt;
&lt;br /&gt;
# If you haven't already, download the MTA:SA client from the download page at mtasa.com.&lt;br /&gt;
# Run the installer. You will be asked which components to install:&lt;br /&gt;
#* '''Client''' interfaces with the game and is a required component.&lt;br /&gt;
#* '''MTA Server''' enables you to host your own home-brew server&lt;br /&gt;
#* '''MTA Server &amp;gt; Editor''' is used to create new maps, this is an optional component&lt;br /&gt;
# You are then asked for a folder in which to install the mod. This can by anywhere and doesn't have to be in you San Andreas directory.&lt;br /&gt;
# Next, you will be asked for the directory where you have San Andreas installed. The default location is: '''C:\Program Files\Rockstar Games\GTA San Andreas\'''.&lt;br /&gt;
# When the installation completes, you will be given the option to start MTA: San Andreas straight away. Choose your option and then press '''Finish'''.&lt;br /&gt;
# You will be able to launch MTA:DM from your Start Menu if you wish to play.&lt;br /&gt;
&lt;br /&gt;
==Running the game==&lt;br /&gt;
# Start Multi Theft Auto by clicking the icon located in your Start Menu under '''MTA:San Andreas'''.&lt;br /&gt;
# GTA: San Andreas will start and once it is loaded, you will be presented with the MTA:SA main menu. Here you will find several options:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| width=&amp;quot;188&amp;quot; |&lt;br /&gt;
[[Image:MENU_QuickConnect.jpg]]&lt;br /&gt;
| width=&amp;quot;380&amp;quot; |&lt;br /&gt;
&amp;lt;font size=&amp;quot;-1&amp;quot; face=&amp;quot;tahoma,helvetica,arial,sans-serif&amp;quot;&amp;gt;'''Quick connect''' – this allows you to connect to a server that you already know the IP address or URL and port of. This is useful if you know precisely which server you want to join so that you don’t need to scroll through the whole server list.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;188&amp;quot; |&lt;br /&gt;
[[Image:MENU_ServerBrowser.jpg|280px]]&lt;br /&gt;
| width=&amp;quot;380&amp;quot; |&lt;br /&gt;
&amp;lt;font size=&amp;quot;-1&amp;quot; face=&amp;quot;tahoma,helvetica,arial,sans-serif&amp;quot;&amp;gt;'''Browse servers''' – this allows you to receive a list of available servers to play on. &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;188&amp;quot; |&lt;br /&gt;
&amp;lt;!-- add picture here --&amp;gt;&lt;br /&gt;
| width=&amp;quot;380&amp;quot; |&lt;br /&gt;
&amp;lt;font size=&amp;quot;-1&amp;quot; face=&amp;quot;tahoma,helvetica,arial,sans-serif&amp;quot;&amp;gt;'''Host game''' – this allows you to start a local server. &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;188&amp;quot; |&lt;br /&gt;
&amp;lt;!-- upload a new image (from mta1.0) --&amp;gt;&lt;br /&gt;
[[Image:Settings.jpg|280px]]&lt;br /&gt;
| width=&amp;quot;380&amp;quot; |&lt;br /&gt;
&amp;lt;font size=&amp;quot;-1&amp;quot; face=&amp;quot;tahoma,helvetica,arial,sans-serif&amp;quot;&amp;gt;'''Settings '''– this allows you to change your in-game nickname, customize controls and adjust display settings.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;188&amp;quot; |&lt;br /&gt;
[[Image:MENU_About.jpg|280px]]&lt;br /&gt;
| width=&amp;quot;380&amp;quot; |&lt;br /&gt;
&amp;lt;font size=&amp;quot;-1&amp;quot; face=&amp;quot;tahoma,helvetica,arial,sans-serif&amp;quot;&amp;gt;'''About '''– this gives you a list of contributors to the project.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;188&amp;quot; |&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
| width=&amp;quot;380&amp;quot; |&lt;br /&gt;
&amp;lt;font size=&amp;quot;-1&amp;quot; face=&amp;quot;tahoma,helvetica,arial,sans-serif&amp;quot;&amp;gt;'''Map editor '''– this allows you to create your own maps, complete with checkpoints, ramps, pickups and other objects. These can then be uploaded onto a server so that you can play them with other people.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;188&amp;quot; |&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
| width=&amp;quot;380&amp;quot; |&lt;br /&gt;
&amp;lt;font size=&amp;quot;-1&amp;quot; face=&amp;quot;tahoma,helvetica,arial,sans-serif&amp;quot;&amp;gt;'''Quit '''– this returns you back to your Windows desktop.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The easiest way to play the game is to click '''Browse Servers''' on the menu. If servers have not appeared already, press the '''Refresh''' button and MTA will scan for servers, displaying them as a list.&lt;br /&gt;
&lt;br /&gt;
* Under the '''Name''' tab, each server's name is displayed.&lt;br /&gt;
* Under the '''Players''' tab, the number of players and the maximum capacity of the server is displayed, in the format of [Used Slots] / [Maximum Slots].&lt;br /&gt;
* The '''Ping''' tab displays the ping, or latency, between your machine and the server. Ping is a measure of the time it takes for &amp;quot;packets&amp;quot; of data to be received back from the server after sending them, so a higher ping means that you will experience more lag on that particular server. Generally, servers closest to your location should have the lowest pings.&lt;br /&gt;
* The '''Host''' is the IP address of the server. You can use this address in future to connect to the same server via the Quick Connect option on the main menu.&lt;br /&gt;
&lt;br /&gt;
Each tab can be clicked to arrange the respective column in ascending or descending order.&lt;br /&gt;
&lt;br /&gt;
For optimal performance and gameplay, look for the best balance between players and ping.&lt;br /&gt;
&lt;br /&gt;
Once you have picked a server, select it and click the '''Connect''' button in the top right-hand corner of the dialog. If all goes well, you should connect to the server and automatically join the game.&lt;br /&gt;
&lt;br /&gt;
==How to Play==&lt;br /&gt;
&lt;br /&gt;
MTA:SA offers a comprehensive scripting system that allows map creators to customize many elements of the game in order to create their own innovative game modes. The game incorporates as many single player elements as possible but some aspects are different.&lt;br /&gt;
&lt;br /&gt;
There are no pedestrians and no AI traffic on the road. The only other people on the map are your opponents, or allies if it is a team game. You can talk with them using the chatbox located in the left-hand corner of the screen by pressing '''T'''. To chat only to your team members, press '''Y'''.&lt;br /&gt;
&lt;br /&gt;
MTA's map editor allows map creators to add various GTA objects to their maps including roads, exploding barrels, ramps, buildings, hills and more. Not only this, but the objects can be scripted to move, change model and disappear. This offers a great deal of fun and variation to the gameplay. &lt;br /&gt;
&lt;br /&gt;
Holding Tab will display the scoreboard. By default, only names and pings are displayed, but scripts can add extra columns that are specific to the particular gamemode being played. For example, a deathmatch game mode would definitely have a column listing total kills, but the map creator may choose to add extra columns for the number of deaths you have and how long you have been playing for, in order to put your score into perspective.&lt;br /&gt;
&lt;br /&gt;
==Controls==&lt;br /&gt;
&lt;br /&gt;
===In-Game Keys===&lt;br /&gt;
&lt;br /&gt;
* F8 (or Tilde Key) - Console&lt;br /&gt;
* F9 - In-game help&lt;br /&gt;
* F11 - Show SA map ''(the following list is for use when the map is up)''&lt;br /&gt;
**numpad +/- - Zoom in and out&lt;br /&gt;
**numpad 4, 8, 6, 2 - move map left, up, right, down&lt;br /&gt;
**numpad 0 - toggle between attach to local player (map follows player blip) and free move (map stays stationary)  &lt;br /&gt;
* F12 - Take a screenshot&lt;br /&gt;
* T - Chat&lt;br /&gt;
* Y - Team Chat&lt;br /&gt;
* TAB - Player List (if [[Scoreboard]] resource is running on the server)&lt;br /&gt;
&lt;br /&gt;
==Console Commands==&lt;br /&gt;
&lt;br /&gt;
'''bind defaults''' Binds control defaults in the settings menu&lt;br /&gt;
&lt;br /&gt;
Press '''~ (tilde)''' or '''F8''' to access the console, then type a command followed by any neccessary parameters (if applicable) then press Enter.&lt;br /&gt;
&lt;br /&gt;
;'''maps''' :This displays a list of all maps available on the server. &lt;br /&gt;
&lt;br /&gt;
;'''nick [nickname]''' :This changes your nickname whilst in-game to whatever you specify in the parameters.&lt;br /&gt;
&lt;br /&gt;
;'''msg [nickname] [message]''' or '''pm [nickname] [message]''' :This sends a private message to the person you specify in the [nickname] parameter. Only the person you specify can see the message. Both '''msg''' and '''pm''' perform the same function.&lt;br /&gt;
&lt;br /&gt;
;'''quit''' or '''exit''' :This disconnects you from the server and returns you to the Windows desktop. Performs the same function as the Quit button on the main menu.&lt;br /&gt;
&lt;br /&gt;
;'''ver''' :This displays the version number and copyright information for the software.&lt;br /&gt;
&lt;br /&gt;
;'''time''' :This displays the current time.&lt;br /&gt;
&lt;br /&gt;
;'''disconnect''' :This disconnects you from the server and returns you to the main menu.&lt;br /&gt;
&lt;br /&gt;
;'''say [text]''' :This enables you to continue talking to people in the chat box whilst the console is open.&lt;br /&gt;
&lt;br /&gt;
;'''ignore [nickname]''' :This will not display any text typed by the player you wish to ignore. To stop ignoring a player, type '''ignore [nickname]''' again.&lt;br /&gt;
&lt;br /&gt;
'''Tip:''' You can use these commands in the chatbox by putting a / (forward slash) in front of them.&lt;br /&gt;
&lt;br /&gt;
A list of console commands can be seen by typing '''help''' into the console and pressing Enter. The current map may also have extra commands which can be accessed by typing '''commands''' into the console.&lt;br /&gt;
&lt;br /&gt;
==Error codes and their meanings==&lt;br /&gt;
'''Download errors'''&amp;lt;br&amp;gt;&lt;br /&gt;
0: UNKNOWN_ERROR&amp;lt;br&amp;gt;&lt;br /&gt;
1: INVALID_FILE_DESCRIPTORS&amp;lt;br&amp;gt;&lt;br /&gt;
2: INVALID_MAX_FILE_DESCRIPTOR&amp;lt;br&amp;gt;&lt;br /&gt;
3: INVALID_SELECT_RETURN&amp;lt;br&amp;gt;&lt;br /&gt;
4: INVALID_INITIAL_MULTI_PERFORM&amp;lt;br&amp;gt;&lt;br /&gt;
5: INVALID_MULTI_PERFORM_CODE&amp;lt;br&amp;gt;&lt;br /&gt;
6: INVALID_MULTI_PERFORM_CODE_NEW_DOWNLOADS&amp;lt;br&amp;gt;&lt;br /&gt;
7: UNEXPECTED_CURL_MESSAGE&amp;lt;br&amp;gt;&lt;br /&gt;
8: UNABLE_TO_CONNECT&amp;lt;br&amp;gt;&lt;br /&gt;
9: UNABLE_TO_DOWNLOAD_FILE&amp;lt;br&amp;gt;&lt;br /&gt;
10: FAILED_TO_INITIALIZE_DOWNLOAD&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Fatal errors'''&amp;lt;br&amp;gt;&lt;br /&gt;
1: no local player model on ingame event&amp;lt;br&amp;gt;&lt;br /&gt;
2: no local player on ingame event&amp;lt;br&amp;gt;&lt;br /&gt;
3: server downloads disabled&amp;lt;br&amp;gt;&lt;br /&gt;
4: no local player model on player-list packet&amp;lt;br&amp;gt;&lt;br /&gt;
5: no local player on player-list packet&amp;lt;br&amp;gt;&lt;br /&gt;
6: invalid custom data length on entity-add packet&amp;lt;br&amp;gt;&lt;br /&gt;
7: invalid bitstream data on entity-add packet&amp;lt;br&amp;gt;&lt;br /&gt;
8: system entity on entity-add packet&amp;lt;br&amp;gt;&lt;br /&gt;
9: failed to create object on entity-add packet&amp;lt;br&amp;gt;&lt;br /&gt;
10: failed to create pickup on entity-add packet&amp;lt;br&amp;gt;&lt;br /&gt;
11: failed to create vehicle on entity-add packet&amp;lt;br&amp;gt;&lt;br /&gt;
12: invalid team-name length on entity-add packet&amp;lt;br&amp;gt;&lt;br /&gt;
13: invalid lua-event name length in lua-event packet&amp;lt;br&amp;gt;&lt;br /&gt;
14: invalid resource name length in resource-start packet&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''''Unable to enter vehicle' errors'''&amp;lt;br&amp;gt;&lt;br /&gt;
1: script cancelled&amp;lt;br&amp;gt;&lt;br /&gt;
2: script cancelled (jack)&amp;lt;br&amp;gt;&lt;br /&gt;
3: current occupier is entering/exiting&amp;lt;br&amp;gt;&lt;br /&gt;
4: invalid seat&amp;lt;br&amp;gt;&lt;br /&gt;
5: not close enough&amp;lt;br&amp;gt;&lt;br /&gt;
6: already in a vehicle&amp;lt;br&amp;gt;&lt;br /&gt;
7: already entering/exiting&amp;lt;br&amp;gt;&lt;br /&gt;
8: invalid vehicle (trailer)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[es:Manual Cliente Deathmatch]]&lt;br /&gt;
[[de:MTA DM Client Anleitung]]&lt;br /&gt;
[[it:Manuale del Client]]&lt;br /&gt;
[[nl:Deathmatch Client Manual]]&lt;br /&gt;
[[ru:Deathmatch Client Manual]]&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21611</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21611"/>
		<updated>2009-09-29T20:17:29Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Scripting introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background: #FFEEAA; padding: 5px; float:right; width: 30%;&amp;quot;&amp;gt;Latest stable version of '''Multi Theft Auto: San Andreas''' is '''{{Current Version|full}}'''. Visit the [http://mtasa.com/ main page] and grab it.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can also grab the nightly [http://code.google.com/p/multitheftauto/wiki/NightlyBuilds?tm=2 developer builds] for the latest updates.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Welcome to the Multi Theft Auto: San Andreas developer wiki. On this wiki you'll find a wealth of information on developing gamemodes and maps for Multi Theft Auto.&lt;br /&gt;
&lt;br /&gt;
There's many [[How you can help|things you can do to help us]] improve MTA - create a map, a gamemode, help document scripting functions, write example code, write tutorials or just play MTA and report the bugs you find.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or problems related to scripting, feel free to get in touch with us on our [[IRC Channel]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
====Getting started====&lt;br /&gt;
&lt;br /&gt;
* [[Client_Manual|Client Manual]]&lt;br /&gt;
* [[Server_Manual|Server Manual]]&lt;br /&gt;
* [[Known_Issues_-_FAQ|Known issues]]&lt;br /&gt;
* [[Map_manager|Map Manager]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
====Scripting====&lt;br /&gt;
&lt;br /&gt;
* [[Scripting Introduction|Introduction to Scripting]]&lt;br /&gt;
* [[Introduction to Scripting the GUI]]&lt;br /&gt;
* [http://robhol.net/guide/basics The basics of scripting]&lt;br /&gt;
* [[Debugging|Debugging Tutorial]] - How to find errors in your scripts&lt;br /&gt;
* [[Resources|Introduction to Resources]]&lt;br /&gt;
** [[Resource Web Access]] - How you can write websites with resources&lt;br /&gt;
** [[:Category:Resource|Resource Catalogue]]&lt;br /&gt;
** [[Meta.xml]]&lt;br /&gt;
* [[Writing_Gamemodes|Writing Gamemodes]]&lt;br /&gt;
* [[Useful_Functions|Useful functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
This section outlines all the Lua capabilites MTA or resources provide.&lt;br /&gt;
* [[:Category:Resource|Resource Catalogue]] - You must learn these to make proper scripts&lt;br /&gt;
* [[Client side scripts]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====General Lua Help====&lt;br /&gt;
Pages designed to aid your understanding of Lua&lt;br /&gt;
*[http://www.lua.org/pil/index.html &amp;quot;Programming in Lua&amp;quot; Manual]&lt;br /&gt;
*[http://lua-users.org/wiki/TutorialDirectory Lua Wiki]&lt;br /&gt;
*[http://nixstaller.berlios.de/manual/0.2/nixstaller_9.html A general guide to Lua from Nixstaller]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Map Editor====&lt;br /&gt;
*[[Resource:Editor|Manual]]&lt;br /&gt;
*[[Resource:Editor/EDF|Editor Definition Format]]&lt;br /&gt;
*[[Resource:Editor/Plugins|Plugins]]&lt;br /&gt;
*[[Resource:Editor#FAQ|Frequently Asked Questions]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Developing Multi Theft Auto====&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Git Coding Guidelines]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px; background:#CCCCFF;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Reference====&lt;br /&gt;
* [[Client Scripting Functions|Client-side Functions]]&lt;br /&gt;
* [[Client Scripting Events|Client-side Events]]&lt;br /&gt;
* [[Server Scripting Functions|Server-side Functions]]&lt;br /&gt;
* [[Server Scripting Events|Server-side Events]]&lt;br /&gt;
&amp;lt;!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --&amp;gt;&lt;br /&gt;
* [[MTA Classes]] - Detailed descriptions of all MTA custom types&lt;br /&gt;
** [[Element|MTA Elements]] / [[Element tree]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Id|ID Lists]]====&lt;br /&gt;
*[[Animations|Animations]]&lt;br /&gt;
*[[Character Skins]]&lt;br /&gt;
*[[CJ_Clothes|Clothing styles]]&lt;br /&gt;
*[[Garage|Garage IDs]]&lt;br /&gt;
*[[Interior IDs]]&lt;br /&gt;
*[[Projectiles]]&lt;br /&gt;
*[[Radar Blips]]&lt;br /&gt;
*[[Sounds]]&lt;br /&gt;
*[[Vehicle IDs]]&lt;br /&gt;
*[[Vehicle Colors]]&lt;br /&gt;
*[[Vehicle Upgrades]]&lt;br /&gt;
*[[Weapons|Weapons]]&lt;br /&gt;
*[[Weather]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
[[pl:Main Page]]&lt;br /&gt;
[[ru:Main Page]]&lt;br /&gt;
[[it:Pagina principale]]&lt;br /&gt;
[[nl:Main Page]]&lt;br /&gt;
[[de:Hauptseite]]&lt;br /&gt;
[[es:Pagina Principal]]&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21610</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21610"/>
		<updated>2009-09-29T20:17:16Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background: #FFEEAA; padding: 5px; float:right; width: 30%;&amp;quot;&amp;gt;Latest stable version of '''Multi Theft Auto: San Andreas''' is '''{{Current Version|full}}'''. Visit the [http://mtasa.com/ main page] and grab it.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can also grab the nightly [http://code.google.com/p/multitheftauto/wiki/NightlyBuilds?tm=2 developer builds] for the latest updates.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Welcome to the Multi Theft Auto: San Andreas developer wiki. On this wiki you'll find a wealth of information on developing gamemodes and maps for Multi Theft Auto.&lt;br /&gt;
&lt;br /&gt;
There's many [[How you can help|things you can do to help us]] improve MTA - create a map, a gamemode, help document scripting functions, write example code, write tutorials or just play MTA and report the bugs you find.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or problems related to scripting, feel free to get in touch with us on our [[IRC Channel]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
====Getting started====&lt;br /&gt;
&lt;br /&gt;
* [[Client_Manual|Client Manual]]&lt;br /&gt;
* [[Server_Manual|Server Manual]]&lt;br /&gt;
* [[Known_Issues_-_FAQ|Known issues]]&lt;br /&gt;
* [[Map_manager|Map Manager]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
====Scripting introduction====&lt;br /&gt;
&lt;br /&gt;
* [[Scripting Introduction|Introduction to Scripting]]&lt;br /&gt;
* [[Introduction to Scripting the GUI]]&lt;br /&gt;
* [http://robhol.net/guide/basics The basics of scripting]&lt;br /&gt;
* [[Debugging|Debugging Tutorial]] - How to find errors in your scripts&lt;br /&gt;
* [[Resources|Introduction to Resources]]&lt;br /&gt;
** [[Resource Web Access]] - How you can write websites with resources&lt;br /&gt;
** [[:Category:Resource|Resource Catalogue]]&lt;br /&gt;
** [[Meta.xml]]&lt;br /&gt;
* [[Writing_Gamemodes|Writing Gamemodes]]&lt;br /&gt;
* [[Useful_Functions|Useful functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
This section outlines all the Lua capabilites MTA or resources provide.&lt;br /&gt;
* [[:Category:Resource|Resource Catalogue]] - You must learn these to make proper scripts&lt;br /&gt;
* [[Client side scripts]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====General Lua Help====&lt;br /&gt;
Pages designed to aid your understanding of Lua&lt;br /&gt;
*[http://www.lua.org/pil/index.html &amp;quot;Programming in Lua&amp;quot; Manual]&lt;br /&gt;
*[http://lua-users.org/wiki/TutorialDirectory Lua Wiki]&lt;br /&gt;
*[http://nixstaller.berlios.de/manual/0.2/nixstaller_9.html A general guide to Lua from Nixstaller]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Map Editor====&lt;br /&gt;
*[[Resource:Editor|Manual]]&lt;br /&gt;
*[[Resource:Editor/EDF|Editor Definition Format]]&lt;br /&gt;
*[[Resource:Editor/Plugins|Plugins]]&lt;br /&gt;
*[[Resource:Editor#FAQ|Frequently Asked Questions]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Developing Multi Theft Auto====&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Git Coding Guidelines]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px; background:#CCCCFF;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Reference====&lt;br /&gt;
* [[Client Scripting Functions|Client-side Functions]]&lt;br /&gt;
* [[Client Scripting Events|Client-side Events]]&lt;br /&gt;
* [[Server Scripting Functions|Server-side Functions]]&lt;br /&gt;
* [[Server Scripting Events|Server-side Events]]&lt;br /&gt;
&amp;lt;!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --&amp;gt;&lt;br /&gt;
* [[MTA Classes]] - Detailed descriptions of all MTA custom types&lt;br /&gt;
** [[Element|MTA Elements]] / [[Element tree]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Id|ID Lists]]====&lt;br /&gt;
*[[Animations|Animations]]&lt;br /&gt;
*[[Character Skins]]&lt;br /&gt;
*[[CJ_Clothes|Clothing styles]]&lt;br /&gt;
*[[Garage|Garage IDs]]&lt;br /&gt;
*[[Interior IDs]]&lt;br /&gt;
*[[Projectiles]]&lt;br /&gt;
*[[Radar Blips]]&lt;br /&gt;
*[[Sounds]]&lt;br /&gt;
*[[Vehicle IDs]]&lt;br /&gt;
*[[Vehicle Colors]]&lt;br /&gt;
*[[Vehicle Upgrades]]&lt;br /&gt;
*[[Weapons|Weapons]]&lt;br /&gt;
*[[Weather]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
[[pl:Main Page]]&lt;br /&gt;
[[ru:Main Page]]&lt;br /&gt;
[[it:Pagina principale]]&lt;br /&gt;
[[nl:Main Page]]&lt;br /&gt;
[[de:Hauptseite]]&lt;br /&gt;
[[es:Pagina Principal]]&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21598</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21598"/>
		<updated>2009-09-26T17:10:49Z</updated>

		<summary type="html">&lt;p&gt;IJs: Added 1.0.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements.&lt;br /&gt;
&lt;br /&gt;
The development ''trunk'' will always contain the current version. Work for future versions can be done in separate branches, and will only be merged when the trunk is at the version in which the work was expected to be introduced.&lt;br /&gt;
&lt;br /&gt;
Bugtracker roadmap: http://bugs.mtasa.com/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
Have a look at the [[Git Coding Guidelines]] as well.&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
'''Release date:''' 22/08/09&lt;br /&gt;
&lt;br /&gt;
This is the initial open-source release version.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Stability bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0 and are degrading the stability or proper usage of the software&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Stability bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0.1 and are degrading the stability of the software&lt;br /&gt;
&lt;br /&gt;
=== 1.0.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.2 and are degrading the stability of the software&lt;br /&gt;
* High priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.0.4 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.3 and are degrading the stability of the software&lt;br /&gt;
* Low priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Usability improvements and additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Unicode support&lt;br /&gt;
* Improved chatbox&lt;br /&gt;
* Improved and unified server database support&lt;br /&gt;
* Packet/demo recorder&lt;br /&gt;
&lt;br /&gt;
=== 1.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Script and gameplay improvements or additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Improved ped synchronization&lt;br /&gt;
* Custom animations&lt;br /&gt;
* Increased game limits&lt;br /&gt;
&lt;br /&gt;
=== 1.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Rethink and revise existing crucial parts of the software for stability, maintainability and performance&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Resource system reimplementation&lt;br /&gt;
* High-performance streamer reimplementation&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Radical engine improvements&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Integrated server-side physics engine&lt;br /&gt;
* Complete and high-performance vector/matrix math library&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21555</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21555"/>
		<updated>2009-09-20T14:37:56Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, ask for a link to the Git guide. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Quick tutorial ==&lt;br /&gt;
For a quick tutorial on how to setup and use TortoiseGit, go to the [http://wiki.github.com/multitheftauto/multitheftauto/how-to-use-tortoisegit How to use TortoiseGit] wiki page on GitHub.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
[[File:Gitsetup.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* merge&lt;br /&gt;
* untested&lt;br /&gt;
* experimental&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more than that. This is not the SVN trunk. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version. Nothing should get into this master branch without having been thoroughly tested. This branch should remain as stable as a release build.&lt;br /&gt;
&lt;br /&gt;
=== Merge ===&lt;br /&gt;
The ''merge'' branch is the first stop for code that originates from a developer's fork and is intended for the release. All code should naturally be tested to the extent of the developer's own ability first. Experimental code that is more likely to break should go into the ''experimental'' branch instead.&lt;br /&gt;
&lt;br /&gt;
The ''merge'' branch will be a collection/mess of untested changes that have been pulled in from forks by anyone with write access. The changes can be rapidly tested in the ''unstable'' build. This build is comparable to a nightly trunk build, which can be seriously broken at times.&lt;br /&gt;
&lt;br /&gt;
=== Untested ===&lt;br /&gt;
The ''untested'' branch sits below ''merge'' and is intended to act as a barrier to ''master''. By using this barrier, we can selectively choose sets of multiple (related) changes from ''merge'' that are considered to be complete. While ''merge'' may contain all sorts of unrelated pulled-in changes from various developers that are still only half working (due to programmer error), the ''untested'' branch will only pull these changes in when they're considered complete every few days. A build containing a specific set of changes is then generated and tested (ideally this would be automated at some point).&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch is for risky code or work-in-progress code that needs to be built by the build system so that it can be tested. Once it has been found to be stable, it can be merged up to ''merge'' from the original fork. Periodically this fork may be reset to being identical to ''merge'', and will be kept in sync with ''merge''. If necessary more experimental branches could be created if more than one experimental feature requires a build at once.&lt;br /&gt;
&lt;br /&gt;
=== Your forks ===&lt;br /&gt;
You should generally fork either ''merge'' or ''experimental'' and work there, then merge up to the relevant branch when you're ready.&lt;br /&gt;
&lt;br /&gt;
== Guidelines ==&lt;br /&gt;
Commits that are merged from a fork into ''merge'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be pulled into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* pulled from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in four different flavours:&lt;br /&gt;
* rc (release candidate, compiled from ''multitheftauto/multitheftauto/master''), rarely built&lt;br /&gt;
* untested (compiled from ''multitheftauto/multitheftauto/untested''), built on-change&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/merge''), frequently built&lt;br /&gt;
* experimental (compiled from ''multitheftauto/multitheftauto/experimental''), built on-demand&lt;br /&gt;
&lt;br /&gt;
For more information, head over to the [http://nightly.mtasa.com Nightly Builds] page.&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21554</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21554"/>
		<updated>2009-09-20T14:06:15Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Nightly builds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, ask for a link to the Git guide. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
[[File:Gitsetup.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* merge&lt;br /&gt;
* untested&lt;br /&gt;
* experimental&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more than that. This is not the SVN trunk. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version. Nothing should get into this master branch without having been thoroughly tested. This branch should remain as stable as a release build.&lt;br /&gt;
&lt;br /&gt;
=== Merge ===&lt;br /&gt;
The ''merge'' branch is the first stop for code that originates from a developer's fork and is intended for the release. All code should naturally be tested to the extent of the developer's own ability first. Experimental code that is more likely to break should go into the ''experimental'' branch instead.&lt;br /&gt;
&lt;br /&gt;
The ''merge'' branch will be a collection/mess of untested changes that have been pulled in from forks by anyone with write access. The changes can be rapidly tested in the ''unstable'' build. This build is comparable to a nightly trunk build, which can be seriously broken at times.&lt;br /&gt;
&lt;br /&gt;
=== Untested ===&lt;br /&gt;
The ''untested'' branch sits below ''merge'' and is intended to act as a barrier to ''master''. By using this barrier, we can selectively choose sets of multiple (related) changes from ''merge'' that are considered to be complete. While ''merge'' may contain all sorts of unrelated pulled-in changes from various developers that are still only half working (due to programmer error), the ''untested'' branch will only pull these changes in when they're considered complete every few days. A build containing a specific set of changes is then generated and tested (ideally this would be automated at some point).&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch is for risky code or work-in-progress code that needs to be built by the build system so that it can be tested. Once it has been found to be stable, it can be merged up to ''merge'' from the original fork. Periodically this fork may be reset to being identical to ''merge'', and will be kept in sync with ''merge''. If necessary more experimental branches could be created if more than one experimental feature requires a build at once.&lt;br /&gt;
&lt;br /&gt;
=== Your forks ===&lt;br /&gt;
You should generally fork either ''merge'' or ''experimental'' and work there, then merge up to the relevant branch when you're ready.&lt;br /&gt;
&lt;br /&gt;
== Guidelines ==&lt;br /&gt;
Commits that are merged from a fork into ''merge'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be pulled into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* pulled from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in four different flavours:&lt;br /&gt;
* rc (release candidate, compiled from ''multitheftauto/multitheftauto/master''), rarely built&lt;br /&gt;
* untested (compiled from ''multitheftauto/multitheftauto/untested''), built on-change&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/merge''), frequently built&lt;br /&gt;
* experimental (compiled from ''multitheftauto/multitheftauto/experimental''), built on-demand&lt;br /&gt;
&lt;br /&gt;
For more information, head over to the [http://nightly.mtasa.com Nightly Builds] page.&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21553</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21553"/>
		<updated>2009-09-20T14:05:21Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Nightly builds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, ask for a link to the Git guide. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
[[File:Gitsetup.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* merge&lt;br /&gt;
* untested&lt;br /&gt;
* experimental&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more than that. This is not the SVN trunk. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version. Nothing should get into this master branch without having been thoroughly tested. This branch should remain as stable as a release build.&lt;br /&gt;
&lt;br /&gt;
=== Merge ===&lt;br /&gt;
The ''merge'' branch is the first stop for code that originates from a developer's fork and is intended for the release. All code should naturally be tested to the extent of the developer's own ability first. Experimental code that is more likely to break should go into the ''experimental'' branch instead.&lt;br /&gt;
&lt;br /&gt;
The ''merge'' branch will be a collection/mess of untested changes that have been pulled in from forks by anyone with write access. The changes can be rapidly tested in the ''unstable'' build. This build is comparable to a nightly trunk build, which can be seriously broken at times.&lt;br /&gt;
&lt;br /&gt;
=== Untested ===&lt;br /&gt;
The ''untested'' branch sits below ''merge'' and is intended to act as a barrier to ''master''. By using this barrier, we can selectively choose sets of multiple (related) changes from ''merge'' that are considered to be complete. While ''merge'' may contain all sorts of unrelated pulled-in changes from various developers that are still only half working (due to programmer error), the ''untested'' branch will only pull these changes in when they're considered complete every few days. A build containing a specific set of changes is then generated and tested (ideally this would be automated at some point).&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch is for risky code or work-in-progress code that needs to be built by the build system so that it can be tested. Once it has been found to be stable, it can be merged up to ''merge'' from the original fork. Periodically this fork may be reset to being identical to ''merge'', and will be kept in sync with ''merge''. If necessary more experimental branches could be created if more than one experimental feature requires a build at once.&lt;br /&gt;
&lt;br /&gt;
=== Your forks ===&lt;br /&gt;
You should generally fork either ''merge'' or ''experimental'' and work there, then merge up to the relevant branch when you're ready.&lt;br /&gt;
&lt;br /&gt;
== Guidelines ==&lt;br /&gt;
Commits that are merged from a fork into ''merge'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be pulled into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* pulled from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in four different flavours:&lt;br /&gt;
* rc (release candidate, compiled from ''multitheftauto/multitheftauto/master''), rarely built&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/merge''), frequently built&lt;br /&gt;
* untested (compiled from ''multitheftauto/multitheftauto/untested''), less frequently built&lt;br /&gt;
* experimental (compiled from ''multitheftauto/multitheftauto/experimental''), built on-demand&lt;br /&gt;
&lt;br /&gt;
For more information, head over to the [http://nightly.mtasa.com Nightly Builds] page.&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21552</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Main_Page&amp;diff=21552"/>
		<updated>2009-09-20T14:04:20Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background: #FFEEAA; padding: 5px; float:right; width: 30%;&amp;quot;&amp;gt;Latest stable version of '''Multi Theft Auto: San Andreas Deathmatch''' is '''{{Current Version|full}}'''. Visit the [http://mtasa.com/ main page] and grab it.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can also grab the nightly [http://code.google.com/p/multitheftauto/wiki/NightlyBuilds?tm=2 developer builds] for the latest updates.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Welcome to the Multi Theft Auto: San Andreas Deathmatch developer wiki. On this wiki you'll find a wealth of information on developing gamemodes and maps for Multi Theft Auto.&lt;br /&gt;
&lt;br /&gt;
There's many [[How you can help|things you can do to help us]] improve MTA - create a map, a gamemode, help document scripting functions, write example code, write tutorials or just play MTA and report the bugs you find.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or problems related to scripting, feel free to get in touch with us on our [[IRC Channel]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
====Getting started====&lt;br /&gt;
&lt;br /&gt;
* [[Deathmatch_Client_Manual|Deathmatch Client Manual]]&lt;br /&gt;
* [[Deathmatch_Server_Manual|Deathmatch Server Manual]]&lt;br /&gt;
* [[Known_Issues_-_FAQ|Known issues in MTA:SA DM]]&lt;br /&gt;
* [[Upgrading_from_MTA:Race|Upgrading from MTA:Race]]&lt;br /&gt;
* [[Scripting Introduction|Introduction to Scripting]]&lt;br /&gt;
* [[Introduction to Scripting the GUI]]&lt;br /&gt;
* [http://robhol.net/guide/basics The basics of scripting]&lt;br /&gt;
* [[Debugging|Debugging Tutorial]] - How to find errors in your scripts&lt;br /&gt;
* [[MTA Classes]] - Detailed descriptions of all MTA custom types&lt;br /&gt;
** [[Element|MTA Elements]] / [[Element tree]]&lt;br /&gt;
* [[Resources|Introduction to Resources]]&lt;br /&gt;
** [[Resource Web Access]] - How you can write websites with resources&lt;br /&gt;
** [[:Category:Resource|Resource Catalogue]]&lt;br /&gt;
** [[Meta.xml]]&lt;br /&gt;
* [[Map_manager|Map Manager]]&lt;br /&gt;
* [[Writing_Gamemodes|Writing Gamemodes]]&lt;br /&gt;
* [[Useful_Functions|Some useful functions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
This section outlines all the Lua capabilites MTA or resources provide.&lt;br /&gt;
* [[:Category:Resource|Resource Catalogue]] - You must learn these to make proper scripts&lt;br /&gt;
* [[Client side scripts]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====General Lua Help====&lt;br /&gt;
Pages designed to aid your understanding of Lua&lt;br /&gt;
*[http://www.lua.org/pil/index.html &amp;quot;Programming in Lua&amp;quot; Manual]&lt;br /&gt;
*[http://lua-users.org/wiki/TutorialDirectory Lua Wiki]&lt;br /&gt;
*[http://nixstaller.berlios.de/manual/0.2/nixstaller_9.html A general guide to Lua from Nixstaller]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Map Editor====&lt;br /&gt;
*[[Resource:Editor|Manual]]&lt;br /&gt;
*[[Resource:Editor/EDF|Editor Definition Format]]&lt;br /&gt;
*[[Resource:Editor/Plugins|Plugins]]&lt;br /&gt;
*[[Resource:Editor#FAQ|Frequently Asked Questions]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Development====&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [[Git Coding Guidelines]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px; background:#CCCCFF;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Reference====&lt;br /&gt;
* [[Client Scripting Functions|Client-side Functions]]&lt;br /&gt;
* [[Client Scripting Events|Client-side Events]]&lt;br /&gt;
* [[Server Scripting Functions|Server-side Functions]]&lt;br /&gt;
* [[Server Scripting Events|Server-side Events]]&lt;br /&gt;
&amp;lt;!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Id|ID Lists]]====&lt;br /&gt;
*[[Animations|Animations]]&lt;br /&gt;
*[[Character Skins]]&lt;br /&gt;
*[[CJ_Clothes|Clothing styles]]&lt;br /&gt;
*[[Garage|Garage IDs]]&lt;br /&gt;
*[[Interior IDs]]&lt;br /&gt;
*[[Projectiles]]&lt;br /&gt;
*[[Radar Blips]]&lt;br /&gt;
*[[Sounds]]&lt;br /&gt;
*[[Vehicle IDs]]&lt;br /&gt;
*[[Vehicle Colors]]&lt;br /&gt;
*[[Vehicle Upgrades]]&lt;br /&gt;
*[[Weapons|Weapons]]&lt;br /&gt;
*[[Weather]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
[[pl:Main Page]]&lt;br /&gt;
[[ru:Main Page]]&lt;br /&gt;
[[it:Pagina principale]]&lt;br /&gt;
[[nl:Main Page]]&lt;br /&gt;
[[de:Hauptseite]]&lt;br /&gt;
[[es:Pagina Principal]]&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21517</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21517"/>
		<updated>2009-09-12T16:44:05Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements.&lt;br /&gt;
&lt;br /&gt;
The development ''trunk'' will always contain the current version. Work for future versions can be done in separate branches, and will only be merged when the trunk is at the version in which the work was expected to be introduced.&lt;br /&gt;
&lt;br /&gt;
Bugtracker roadmap: http://bugs.mtasa.com/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
Have a look at the [[Git Coding Guidelines]] as well.&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
'''Release date:''' 22/08/09&lt;br /&gt;
&lt;br /&gt;
This is the initial open-source release version.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Stability bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0 and are degrading the stability of the software&lt;br /&gt;
* Improvements for server deployment on *nix systems&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.1 and are degrading the stability of the software&lt;br /&gt;
* High priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.0.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.1 and are degrading the stability of the software&lt;br /&gt;
* Low priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Usability improvements and additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Unicode support&lt;br /&gt;
* Improved chatbox&lt;br /&gt;
* Improved and unified server database support&lt;br /&gt;
* Packet/demo recorder&lt;br /&gt;
&lt;br /&gt;
=== 1.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Script and gameplay improvements or additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Improved ped synchronization&lt;br /&gt;
* Custom animations&lt;br /&gt;
* Increased game limits&lt;br /&gt;
&lt;br /&gt;
=== 1.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Rethink and revise existing crucial parts of the software for stability, maintainability and performance&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Resource system reimplementation&lt;br /&gt;
* High-performance streamer reimplementation&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Radical engine improvements&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Integrated server-side physics engine&lt;br /&gt;
* Complete and high-performance vector/matrix math library&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21516</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21516"/>
		<updated>2009-09-12T16:23:50Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements.&lt;br /&gt;
&lt;br /&gt;
The development ''trunk'' will always contain the current version. Work for future versions can be done in separate branches, and will only be merged when the trunk is at the version in which the work was expected to be introduced.&lt;br /&gt;
&lt;br /&gt;
Bugtracker roadmap: http://bugs.mtasa.com/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
Have a look at the [[Git Coding Guidelines]] as well.&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
'''Release date:''' 22/08/09&lt;br /&gt;
&lt;br /&gt;
This is the initial open-source release version.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Stability bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0 and are degrading the stability of the software&lt;br /&gt;
* Improvements for server deployment on *nix systems&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.1 and are degrading the stability of the software&lt;br /&gt;
* High priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.0.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Gameplay bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for issues and crashes that are present in 1.0.1 and are degrading the stability of the software&lt;br /&gt;
* Low priority gameplay fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Usability improvements and additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Unicode support&lt;br /&gt;
* Improved chatbox&lt;br /&gt;
* Improved and unified server database support&lt;br /&gt;
&lt;br /&gt;
=== 1.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Script and gameplay improvements or additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Improved ped synchronization&lt;br /&gt;
* Custom animations&lt;br /&gt;
* Packet/demo recorder&lt;br /&gt;
* Increased game limits&lt;br /&gt;
&lt;br /&gt;
=== 1.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Rethink and revise existing crucial parts of the software for stability, maintainability and performance&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Resource system reimplementation&lt;br /&gt;
* High-performance streamer reimplementation&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Radical engine improvements&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Integrated server-side physics engine&lt;br /&gt;
* Complete and high-performance vector/matrix math library&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21515</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21515"/>
		<updated>2009-09-12T16:05:20Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* 1.0.2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements.&lt;br /&gt;
&lt;br /&gt;
The development ''trunk'' will always contain the current version. Work for future versions can be done in separate branches, and will only be merged when the trunk is at the version in which the work was expected to be introduced.&lt;br /&gt;
&lt;br /&gt;
Bugtracker roadmap: http://bugs.mtasa.com/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
Have a look at the [[Git Coding Guidelines]] as well.&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
'''Release date:''' 22/08/09&lt;br /&gt;
&lt;br /&gt;
This is the initial open-source release version.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0 and are degrading the stability of the software&lt;br /&gt;
* Improvements for server deployment on *nix systems&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Delayed fixes or fixes that were unknown during 1.0.1 development&lt;br /&gt;
* Gameplay-oriented fixes&lt;br /&gt;
&lt;br /&gt;
=== 1.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Usability improvements and additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Unicode support&lt;br /&gt;
* Improved chatbox&lt;br /&gt;
* Improved and unified server database support&lt;br /&gt;
&lt;br /&gt;
=== 1.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Script and gameplay improvements or additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Improved ped synchronization&lt;br /&gt;
* Custom animations&lt;br /&gt;
* Packet/demo recorder&lt;br /&gt;
* Increased game limits&lt;br /&gt;
&lt;br /&gt;
=== 1.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Rethink and revise existing crucial parts of the software for stability, maintainability and performance&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Resource system reimplementation&lt;br /&gt;
* High-performance streamer reimplementation&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Radical engine improvements&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Integrated server-side physics engine&lt;br /&gt;
* Complete and high-performance vector/matrix math library&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21514</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21514"/>
		<updated>2009-09-12T16:04:52Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* 1.0.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements.&lt;br /&gt;
&lt;br /&gt;
The development ''trunk'' will always contain the current version. Work for future versions can be done in separate branches, and will only be merged when the trunk is at the version in which the work was expected to be introduced.&lt;br /&gt;
&lt;br /&gt;
Bugtracker roadmap: http://bugs.mtasa.com/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
Have a look at the [[Git Coding Guidelines]] as well.&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
'''Release date:''' 22/08/09&lt;br /&gt;
&lt;br /&gt;
This is the initial open-source release version.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0 and are degrading the stability of the software&lt;br /&gt;
* Improvements for server deployment on *nix systems&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Delayed fixes or fixes that were unknown during 1.0.1 development&lt;br /&gt;
&lt;br /&gt;
=== 1.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Usability improvements and additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Unicode support&lt;br /&gt;
* Improved chatbox&lt;br /&gt;
* Improved and unified server database support&lt;br /&gt;
&lt;br /&gt;
=== 1.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Script and gameplay improvements or additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Improved ped synchronization&lt;br /&gt;
* Custom animations&lt;br /&gt;
* Packet/demo recorder&lt;br /&gt;
* Increased game limits&lt;br /&gt;
&lt;br /&gt;
=== 1.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Rethink and revise existing crucial parts of the software for stability, maintainability and performance&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Resource system reimplementation&lt;br /&gt;
* High-performance streamer reimplementation&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Radical engine improvements&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Integrated server-side physics engine&lt;br /&gt;
* Complete and high-performance vector/matrix math library&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineReplaceCOL&amp;diff=21513</id>
		<title>EngineReplaceCOL</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineReplaceCOL&amp;diff=21513"/>
		<updated>2009-09-12T14:17:07Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
This function replaces the collision file of the given model id to the collision file passed. Use [[engineLoadCOL]] to load the collision file first.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Collision libraries (.col files containing multiple collision models) are not supported. See [[COL]] for details. Object models are supported only (no vehicles or players).&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool engineReplaceCOL ( col theCol, int modelID )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theCol:''' The collision file to replace with&lt;br /&gt;
*'''modelID:''' The model ID whose collision file you want to replace&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the collision was successfully replaced, ''false'' or ''nil'' if the collision could not be replaced for a reason.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
Client-Side example for replacing object collision with custom one.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function ReplaceCollision ( )&lt;br /&gt;
outputChatBox ( &amp;quot;&amp;gt; Replacing Collision Data.&amp;quot; )&lt;br /&gt;
col = engineLoadCOL( &amp;quot;myColFile.col&amp;quot; )&lt;br /&gt;
engineReplaceCOL( col, 3356 )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
addEvent ( &amp;quot;collisionReplace&amp;quot;, true )&lt;br /&gt;
addEventHandler ( &amp;quot;collisionReplace&amp;quot;, getRootElement(), ReplaceCollision )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
Server-side example function for triggering the replace.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function ReplaceCols ( )&lt;br /&gt;
triggerClientEvent ( &amp;quot;collisionReplace&amp;quot;, getRootElement(), collisionReplace )&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler(&amp;quot;replacecol&amp;quot;, ReplaceCols)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&amp;lt;!-- Change FunctionArea to the area that this function is in on the main function list page, e.g. Server, Player, Vehicle etc --&amp;gt;&lt;br /&gt;
{{Engine_functions}}&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21499</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21499"/>
		<updated>2009-09-10T21:40:13Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Master */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, ask for a link to the Git guide. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
[[File:Gitsetup.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* merge&lt;br /&gt;
* untested&lt;br /&gt;
* experimental&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more than that. This is not the SVN trunk. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version. Nothing should get into this master branch without having been thoroughly tested. This branch should remain as stable as a release build.&lt;br /&gt;
&lt;br /&gt;
=== Merge ===&lt;br /&gt;
The ''merge'' branch is the first stop for code that originates from a developer's fork and is intended for the release. All code should naturally be tested to the extent of the developer's own ability first. Experimental code that is more likely to break should go into the ''experimental'' branch instead.&lt;br /&gt;
&lt;br /&gt;
The ''merge'' branch will be a collection/mess of untested changes that have been pulled in from forks by anyone with write access. The changes can be rapidly tested in the ''unstable'' build. This build is comparable to a nightly trunk build, which can be seriously broken at times.&lt;br /&gt;
&lt;br /&gt;
=== Untested ===&lt;br /&gt;
The ''untested'' branch sits below ''merge'' and is intended to act as a barrier to ''master''. By using this barrier, we can selectively choose sets of multiple (related) changes from ''merge'' that are considered to be complete. While ''merge'' may contain all sorts of unrelated pulled-in changes from various developers that are still only half working (due to programmer error), the ''untested'' branch will only pull these changes in when they're considered complete every few days. A build containing a specific set of changes is then generated and tested (ideally this would be automated at some point).&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch is for risky code or work-in-progress code that needs to be built by the build system so that it can be tested. Once it has been found to be stable, it can be merged up to ''merge'' from the original fork. Periodically this fork may be reset to being identical to ''merge'', and will be kept in sync with ''merge''. If necessary more experimental branches could be created if more than one experimental feature requires a build at once.&lt;br /&gt;
&lt;br /&gt;
=== Your forks ===&lt;br /&gt;
You should generally fork either ''merge'' or ''experimental'' and work there, then merge up to the relevant branch when you're ready.&lt;br /&gt;
&lt;br /&gt;
== Guidelines ==&lt;br /&gt;
Commits that are merged from a fork into ''merge'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be pulled into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* pulled from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in four different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master''), rarely built&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/merge''), frequently built&lt;br /&gt;
* untested (compiled from ''multitheftauto/multitheftauto/untested''), less frequently built&lt;br /&gt;
* experimental (compiled from ''multitheftauto/multitheftauto/experimental''), built on-demand&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21498</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21498"/>
		<updated>2009-09-10T10:48:49Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements.&lt;br /&gt;
&lt;br /&gt;
The development ''trunk'' will always contain the current version. Work for future versions can be done in separate branches, and will only be merged when the trunk is at the version in which the work was expected to be introduced.&lt;br /&gt;
&lt;br /&gt;
Bugtracker roadmap: http://bugs.mtasa.com/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
Have a look at the [[Git Coding Guidelines]] as well.&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
'''Release date:''' 22/08/09&lt;br /&gt;
&lt;br /&gt;
This is the initial open-source release version.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0 and are degrading the stability and/or gameplay&lt;br /&gt;
* Improvements for server deployment on *nix systems&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Delayed fixes or fixes that were unknown during 1.0.1 development&lt;br /&gt;
&lt;br /&gt;
=== 1.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Usability improvements and additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Unicode support&lt;br /&gt;
* Improved chatbox&lt;br /&gt;
* Improved and unified server database support&lt;br /&gt;
&lt;br /&gt;
=== 1.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Script and gameplay improvements or additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Improved ped synchronization&lt;br /&gt;
* Custom animations&lt;br /&gt;
* Packet/demo recorder&lt;br /&gt;
* Increased game limits&lt;br /&gt;
&lt;br /&gt;
=== 1.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Rethink and revise existing crucial parts of the software for stability, maintainability and performance&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Resource system reimplementation&lt;br /&gt;
* High-performance streamer reimplementation&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Radical engine improvements&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Integrated server-side physics engine&lt;br /&gt;
* Complete and high-performance vector/matrix math library&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21494</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21494"/>
		<updated>2009-09-09T21:08:59Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Nightly builds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, ask for a link to the Git guide. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
[[File:Gitsetup.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* merge&lt;br /&gt;
* untested&lt;br /&gt;
* experimental&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more than that. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version. Nothing should get into this master branch without having been thoroughly tested. This branch should remain as stable as a release build.&lt;br /&gt;
&lt;br /&gt;
=== Merge ===&lt;br /&gt;
The ''merge'' branch is the first stop for code that originates from a developer's fork and is intended for the release. All code should naturally be tested to the extent of the developer's own ability first. Experimental code that is more likely to break should go into the ''experimental'' branch instead.&lt;br /&gt;
&lt;br /&gt;
The ''merge'' branch will be a collection/mess of untested changes that have been pulled in from forks by anyone with write access. The changes can be rapidly tested in the ''unstable'' build. This build is comparable to a nightly trunk build, which can be seriously broken at times.&lt;br /&gt;
&lt;br /&gt;
=== Untested ===&lt;br /&gt;
The ''untested'' branch sits below ''merge'' and is intended to act as a barrier to ''master''. By using this barrier, we can selectively choose sets of multiple (related) changes from ''merge'' that are considered to be complete. While ''merge'' may contain all sorts of unrelated pulled-in changes from various developers that are still only half working (due to programmer error), the ''untested'' branch will only pull these changes in when they're considered complete every few days. A build containing a specific set of changes is then generated and tested (ideally this would be automated at some point).&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch is for risky code or work-in-progress code that needs to be built by the build system so that it can be tested. Once it has been found to be stable, it can be merged up to ''merge'' from the original fork. Periodically this fork may be reset to being identical to ''merge'', and will be kept in sync with ''merge''. If necessary more experimental branches could be created if more than one experimental feature requires a build at once.&lt;br /&gt;
&lt;br /&gt;
=== Your forks ===&lt;br /&gt;
You should generally fork either ''merge'' or ''experimental'' and work there, then merge up to the relevant branch when you're ready.&lt;br /&gt;
&lt;br /&gt;
== Guidelines ==&lt;br /&gt;
Commits that are merged from a fork into ''merge'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be pulled into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* pulled from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in four different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master''), rarely built&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/merge''), frequently built&lt;br /&gt;
* untested (compiled from ''multitheftauto/multitheftauto/untested''), less frequently built&lt;br /&gt;
* experimental (compiled from ''multitheftauto/multitheftauto/experimental''), built on-demand&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21493</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21493"/>
		<updated>2009-09-09T21:07:32Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Nightly builds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, ask for a link to the Git guide. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
[[File:Gitsetup.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* merge&lt;br /&gt;
* untested&lt;br /&gt;
* experimental&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more than that. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version. Nothing should get into this master branch without having been thoroughly tested. This branch should remain as stable as a release build.&lt;br /&gt;
&lt;br /&gt;
=== Merge ===&lt;br /&gt;
The ''merge'' branch is the first stop for code that originates from a developer's fork and is intended for the release. All code should naturally be tested to the extent of the developer's own ability first. Experimental code that is more likely to break should go into the ''experimental'' branch instead.&lt;br /&gt;
&lt;br /&gt;
The ''merge'' branch will be a collection/mess of untested changes that have been pulled in from forks by anyone with write access. The changes can be rapidly tested in the ''unstable'' build. This build is comparable to a nightly trunk build, which can be seriously broken at times.&lt;br /&gt;
&lt;br /&gt;
=== Untested ===&lt;br /&gt;
The ''untested'' branch sits below ''merge'' and is intended to act as a barrier to ''master''. By using this barrier, we can selectively choose sets of multiple (related) changes from ''merge'' that are considered to be complete. While ''merge'' may contain all sorts of unrelated pulled-in changes from various developers that are still only half working (due to programmer error), the ''untested'' branch will only pull these changes in when they're considered complete every few days. A build containing a specific set of changes is then generated and tested (ideally this would be automated at some point).&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch is for risky code or work-in-progress code that needs to be built by the build system so that it can be tested. Once it has been found to be stable, it can be merged up to ''merge'' from the original fork. Periodically this fork may be reset to being identical to ''merge'', and will be kept in sync with ''merge''. If necessary more experimental branches could be created if more than one experimental feature requires a build at once.&lt;br /&gt;
&lt;br /&gt;
=== Your forks ===&lt;br /&gt;
You should generally fork either ''merge'' or ''experimental'' and work there, then merge up to the relevant branch when you're ready.&lt;br /&gt;
&lt;br /&gt;
== Guidelines ==&lt;br /&gt;
Commits that are merged from a fork into ''merge'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be pulled into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* pulled from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master''), rarely built&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/merge''), frequently built&lt;br /&gt;
* untested (compiled from ''multitheftauto/multitheftauto/untested''), less frequently built&lt;br /&gt;
* experimental (compiled from ''multitheftauto/multitheftauto/experimental''), built on-demand&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21492</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21492"/>
		<updated>2009-09-09T21:07:12Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Nightly builds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, ask for a link to the Git guide. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
[[File:Gitsetup.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* merge&lt;br /&gt;
* untested&lt;br /&gt;
* experimental&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more than that. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version. Nothing should get into this master branch without having been thoroughly tested. This branch should remain as stable as a release build.&lt;br /&gt;
&lt;br /&gt;
=== Merge ===&lt;br /&gt;
The ''merge'' branch is the first stop for code that originates from a developer's fork and is intended for the release. All code should naturally be tested to the extent of the developer's own ability first. Experimental code that is more likely to break should go into the ''experimental'' branch instead.&lt;br /&gt;
&lt;br /&gt;
The ''merge'' branch will be a collection/mess of untested changes that have been pulled in from forks by anyone with write access. The changes can be rapidly tested in the ''unstable'' build. This build is comparable to a nightly trunk build, which can be seriously broken at times.&lt;br /&gt;
&lt;br /&gt;
=== Untested ===&lt;br /&gt;
The ''untested'' branch sits below ''merge'' and is intended to act as a barrier to ''master''. By using this barrier, we can selectively choose sets of multiple (related) changes from ''merge'' that are considered to be complete. While ''merge'' may contain all sorts of unrelated pulled-in changes from various developers that are still only half working (due to programmer error), the ''untested'' branch will only pull these changes in when they're considered complete every few days. A build containing a specific set of changes is then generated and tested (ideally this would be automated at some point).&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch is for risky code or work-in-progress code that needs to be built by the build system so that it can be tested. Once it has been found to be stable, it can be merged up to ''merge'' from the original fork. Periodically this fork may be reset to being identical to ''merge'', and will be kept in sync with ''merge''. If necessary more experimental branches could be created if more than one experimental feature requires a build at once.&lt;br /&gt;
&lt;br /&gt;
=== Your forks ===&lt;br /&gt;
You should generally fork either ''merge'' or ''experimental'' and work there, then merge up to the relevant branch when you're ready.&lt;br /&gt;
&lt;br /&gt;
== Guidelines ==&lt;br /&gt;
Commits that are merged from a fork into ''merge'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be pulled into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* pulled from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master''), rarely built&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/merge''), frequently built&lt;br /&gt;
* untested (compiled from ''multitheftauto/multitheftauto/untested''), less frequently built&lt;br /&gt;
* experimental (compiled from ''multitheftauto/multitheftauto/experimental''), on-demand build&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21491</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21491"/>
		<updated>2009-09-09T21:05:32Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Master, experimental, trunks and branches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, ask for a link to the Git guide. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
[[File:Gitsetup.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* merge&lt;br /&gt;
* untested&lt;br /&gt;
* experimental&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more than that. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version. Nothing should get into this master branch without having been thoroughly tested. This branch should remain as stable as a release build.&lt;br /&gt;
&lt;br /&gt;
=== Merge ===&lt;br /&gt;
The ''merge'' branch is the first stop for code that originates from a developer's fork and is intended for the release. All code should naturally be tested to the extent of the developer's own ability first. Experimental code that is more likely to break should go into the ''experimental'' branch instead.&lt;br /&gt;
&lt;br /&gt;
The ''merge'' branch will be a collection/mess of untested changes that have been pulled in from forks by anyone with write access. The changes can be rapidly tested in the ''unstable'' build. This build is comparable to a nightly trunk build, which can be seriously broken at times.&lt;br /&gt;
&lt;br /&gt;
=== Untested ===&lt;br /&gt;
The ''untested'' branch sits below ''merge'' and is intended to act as a barrier to ''master''. By using this barrier, we can selectively choose sets of multiple (related) changes from ''merge'' that are considered to be complete. While ''merge'' may contain all sorts of unrelated pulled-in changes from various developers that are still only half working (due to programmer error), the ''untested'' branch will only pull these changes in when they're considered complete every few days. A build containing a specific set of changes is then generated and tested (ideally this would be automated at some point).&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch is for risky code or work-in-progress code that needs to be built by the build system so that it can be tested. Once it has been found to be stable, it can be merged up to ''merge'' from the original fork. Periodically this fork may be reset to being identical to ''merge'', and will be kept in sync with ''merge''. If necessary more experimental branches could be created if more than one experimental feature requires a build at once.&lt;br /&gt;
&lt;br /&gt;
=== Your forks ===&lt;br /&gt;
You should generally fork either ''merge'' or ''experimental'' and work there, then merge up to the relevant branch when you're ready.&lt;br /&gt;
&lt;br /&gt;
== Guidelines ==&lt;br /&gt;
Commits that are merged from a fork into ''merge'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be pulled into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* pulled from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master'')&lt;br /&gt;
* untested (compiled from ''multitheftauto/multitheftauto/untested'')&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/merge'')&lt;br /&gt;
* experimental (compiled from ''multitheftauto/multitheftauto/experimental'')&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21490</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21490"/>
		<updated>2009-09-09T21:05:16Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, ask for a link to the Git guide. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
[[File:Gitsetup.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* untested&lt;br /&gt;
* merge&lt;br /&gt;
* experimental&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more than that. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version. Nothing should get into this master branch without having been thoroughly tested. This branch should remain as stable as a release build.&lt;br /&gt;
&lt;br /&gt;
=== Merge ===&lt;br /&gt;
The ''merge'' branch is the first stop for code that originates from a developer's fork and is intended for the release. All code should naturally be tested to the extent of the developer's own ability first. Experimental code that is more likely to break should go into the ''experimental'' branch instead.&lt;br /&gt;
&lt;br /&gt;
The ''merge'' branch will be a collection/mess of untested changes that have been pulled in from forks by anyone with write access. The changes can be rapidly tested in the ''unstable'' build. This build is comparable to a nightly trunk build, which can be seriously broken at times.&lt;br /&gt;
&lt;br /&gt;
=== Untested ===&lt;br /&gt;
The ''untested'' branch sits below ''merge'' and is intended to act as a barrier to ''master''. By using this barrier, we can selectively choose sets of multiple (related) changes from ''merge'' that are considered to be complete. While ''merge'' may contain all sorts of unrelated pulled-in changes from various developers that are still only half working (due to programmer error), the ''untested'' branch will only pull these changes in when they're considered complete every few days. A build containing a specific set of changes is then generated and tested (ideally this would be automated at some point).&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch is for risky code or work-in-progress code that needs to be built by the build system so that it can be tested. Once it has been found to be stable, it can be merged up to ''merge'' from the original fork. Periodically this fork may be reset to being identical to ''merge'', and will be kept in sync with ''merge''. If necessary more experimental branches could be created if more than one experimental feature requires a build at once.&lt;br /&gt;
&lt;br /&gt;
=== Your forks ===&lt;br /&gt;
You should generally fork either ''merge'' or ''experimental'' and work there, then merge up to the relevant branch when you're ready.&lt;br /&gt;
&lt;br /&gt;
== Guidelines ==&lt;br /&gt;
Commits that are merged from a fork into ''merge'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be pulled into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* pulled from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master'')&lt;br /&gt;
* untested (compiled from ''multitheftauto/multitheftauto/untested'')&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/merge'')&lt;br /&gt;
* experimental (compiled from ''multitheftauto/multitheftauto/experimental'')&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21475</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21475"/>
		<updated>2009-09-08T21:05:39Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Your forks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, ask for a link to the Git guide. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* untested&lt;br /&gt;
* merge&lt;br /&gt;
* experimental&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more that that. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version. Nothing should get into this master branch without having been thoroughly tested. This branch should remain as stable as a release build.&lt;br /&gt;
&lt;br /&gt;
=== Untested ===&lt;br /&gt;
Code is merged into the ''untested'' branch periodically, perhaps every few days, or maybe weekly. Once the code has been merged there, it will be built and tested (hopefully by automated tests at some point.) The job of doing this merge and test will be passed around in some fashion.&lt;br /&gt;
&lt;br /&gt;
=== Merge ===&lt;br /&gt;
The ''merge'' branch is where code can be merged to at any point. This code should be intended for the release, so should be tested to the extent of your ability first! Experimental code that is more likely to break should go into the ''experimental'' branch.&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch is for risky code or work-in-progress code that needs to be built by the build system so that it can be tested. Once it has been found to be stable, it can be merged up to ''merge'' from the original fork. Periodically this fork may be reset to being identical to ''merge'', and will be kept in sync with ''merge''. If necessary more experimental branches could be created if more than one experimental feature requires a build at once.&lt;br /&gt;
&lt;br /&gt;
=== Your forks ===&lt;br /&gt;
You should generally fork either ''merge'' or ''experimental'' and work there, then merge up to the relevant branch when you're ready.&lt;br /&gt;
&lt;br /&gt;
== Guidelines ==&lt;br /&gt;
Commits that are merged from a fork into ''merge'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be pulled into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* pulled from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master'')&lt;br /&gt;
* untested (compiled from ''multitheftauto/multitheftauto/untested'')&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/merge'')&lt;br /&gt;
* experimental (compiled from ''multitheftauto/multitheftauto/experimental'')&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21474</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21474"/>
		<updated>2009-09-08T21:04:40Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Experimental */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, ask for a link to the Git guide. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* untested&lt;br /&gt;
* merge&lt;br /&gt;
* experimental&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more that that. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version. Nothing should get into this master branch without having been thoroughly tested. This branch should remain as stable as a release build.&lt;br /&gt;
&lt;br /&gt;
=== Untested ===&lt;br /&gt;
Code is merged into the ''untested'' branch periodically, perhaps every few days, or maybe weekly. Once the code has been merged there, it will be built and tested (hopefully by automated tests at some point.) The job of doing this merge and test will be passed around in some fashion.&lt;br /&gt;
&lt;br /&gt;
=== Merge ===&lt;br /&gt;
The ''merge'' branch is where code can be merged to at any point. This code should be intended for the release, so should be tested to the extent of your ability first! Experimental code that is more likely to break should go into the ''experimental'' branch.&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch is for risky code or work-in-progress code that needs to be built by the build system so that it can be tested. Once it has been found to be stable, it can be merged up to ''merge'' from the original fork. Periodically this fork may be reset to being identical to ''merge'', and will be kept in sync with ''merge''. If necessary more experimental branches could be created if more than one experimental feature requires a build at once.&lt;br /&gt;
&lt;br /&gt;
=== Your forks ===&lt;br /&gt;
You should generally fork either Merge or Experimental and work there, then merge up to the relevant branch when you're ready.&lt;br /&gt;
&lt;br /&gt;
== Guidelines ==&lt;br /&gt;
Commits that are merged from a fork into ''merge'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be pulled into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* pulled from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master'')&lt;br /&gt;
* untested (compiled from ''multitheftauto/multitheftauto/untested'')&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/merge'')&lt;br /&gt;
* experimental (compiled from ''multitheftauto/multitheftauto/experimental'')&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21467</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21467"/>
		<updated>2009-09-08T17:30:12Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Nightly builds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, have a look at the linked Git guide below&amp;lt;ref name=&amp;quot;guide&amp;quot;&amp;gt;[http://code.opencoding.net/mta/git/peepcode-git.pdf Git Internals by Scott Chacon]&amp;lt;/ref&amp;gt;. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details&amp;lt;ref name=&amp;quot;guide&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* experimental (branch)&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more that that. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version.&lt;br /&gt;
&lt;br /&gt;
Stable stuff will nearly always be pulled in from known developer forks, which can be done by anyone who has write access to the main repository. Experimental stuff should not go in this branch.&lt;br /&gt;
&lt;br /&gt;
==== Guidelines ====&lt;br /&gt;
Commits that are merged from a fork into ''master'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be pulled into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* pulled from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch will be based on ''master'' and will contain any changes that are unplanned or haven't been tested properly yet. We will provide experimental nightly builds for those who wish to test any experimental (non-stable) features. This branch will be kept in sync with the master branch by periodically fetching and merging the changes from master.&lt;br /&gt;
&lt;br /&gt;
Experimental stuff can be pulled in from any fork (known or unknown developers), which can be done by anyone who has write access to the main repository. Stable stuff doesn't have to be merged in this branch as it is automatically pulled in from master (see above).&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master'')&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/experimental'')&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21466</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21466"/>
		<updated>2009-09-08T17:29:30Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Guidelines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, have a look at the linked Git guide below&amp;lt;ref name=&amp;quot;guide&amp;quot;&amp;gt;[http://code.opencoding.net/mta/git/peepcode-git.pdf Git Internals by Scott Chacon]&amp;lt;/ref&amp;gt;. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details&amp;lt;ref name=&amp;quot;guide&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* experimental (branch)&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more that that. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version.&lt;br /&gt;
&lt;br /&gt;
Stable stuff will nearly always be pulled in from known developer forks, which can be done by anyone who has write access to the main repository. Experimental stuff should not go in this branch.&lt;br /&gt;
&lt;br /&gt;
==== Guidelines ====&lt;br /&gt;
Commits that are merged from a fork into ''master'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be pulled into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* pulled from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch will be based on ''master'' and will contain any changes that are unplanned or haven't been tested properly yet. We will provide experimental nightly builds for those who wish to test any experimental (non-stable) features. This branch will be kept in sync with the master branch by periodically fetching and merging the changes from master.&lt;br /&gt;
&lt;br /&gt;
Experimental stuff can be pulled in from any fork (known or unknown developers), which can be done by anyone who has write access to the main repository. Stable stuff doesn't have to be merged in this branch as it is automatically pulled in from master (see above).&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master''&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/experimental''&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21465</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21465"/>
		<updated>2009-09-08T17:28:53Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Guidelines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, have a look at the linked Git guide below&amp;lt;ref name=&amp;quot;guide&amp;quot;&amp;gt;[http://code.opencoding.net/mta/git/peepcode-git.pdf Git Internals by Scott Chacon]&amp;lt;/ref&amp;gt;. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details&amp;lt;ref name=&amp;quot;guide&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* experimental (branch)&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more that that. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version.&lt;br /&gt;
&lt;br /&gt;
Stable stuff will nearly always be pulled in from known developer forks, which can be done by anyone who has write access to the main repository. Experimental stuff should not go in this branch.&lt;br /&gt;
&lt;br /&gt;
==== Guidelines ====&lt;br /&gt;
Commits that are merged from a fork into ''master'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be merged into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers in the originating fork&lt;br /&gt;
* merged from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch will be based on ''master'' and will contain any changes that are unplanned or haven't been tested properly yet. We will provide experimental nightly builds for those who wish to test any experimental (non-stable) features. This branch will be kept in sync with the master branch by periodically fetching and merging the changes from master.&lt;br /&gt;
&lt;br /&gt;
Experimental stuff can be pulled in from any fork (known or unknown developers), which can be done by anyone who has write access to the main repository. Stable stuff doesn't have to be merged in this branch as it is automatically pulled in from master (see above).&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master''&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/experimental''&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21464</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21464"/>
		<updated>2009-09-08T17:28:04Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Master */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, have a look at the linked Git guide below&amp;lt;ref name=&amp;quot;guide&amp;quot;&amp;gt;[http://code.opencoding.net/mta/git/peepcode-git.pdf Git Internals by Scott Chacon]&amp;lt;/ref&amp;gt;. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details&amp;lt;ref name=&amp;quot;guide&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* experimental (branch)&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more that that. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [[Roadmap]]. Nightly builds will be available for anyone who wishes to test and use the stable version.&lt;br /&gt;
&lt;br /&gt;
Stable stuff will nearly always be pulled in from known developer forks, which can be done by anyone who has write access to the main repository. Experimental stuff should not go in this branch.&lt;br /&gt;
&lt;br /&gt;
==== Guidelines ====&lt;br /&gt;
Commits that are merged from a fork into ''master'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be merged into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* merged from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch will be based on ''master'' and will contain any changes that are unplanned or haven't been tested properly yet. We will provide experimental nightly builds for those who wish to test any experimental (non-stable) features. This branch will be kept in sync with the master branch by periodically fetching and merging the changes from master.&lt;br /&gt;
&lt;br /&gt;
Experimental stuff can be pulled in from any fork (known or unknown developers), which can be done by anyone who has write access to the main repository. Stable stuff doesn't have to be merged in this branch as it is automatically pulled in from master (see above).&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master''&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/experimental''&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21463</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21463"/>
		<updated>2009-09-08T17:27:38Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Master */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, have a look at the linked Git guide below&amp;lt;ref name=&amp;quot;guide&amp;quot;&amp;gt;[http://code.opencoding.net/mta/git/peepcode-git.pdf Git Internals by Scott Chacon]&amp;lt;/ref&amp;gt;. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details&amp;lt;ref name=&amp;quot;guide&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* experimental (branch)&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release.. and nothing more that that. On release, it will be forked into 1.x-Release and the entire cycle starts over again. In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [Roadmap]. Nightly builds will be available for anyone who wishes to test and use the stable version.&lt;br /&gt;
&lt;br /&gt;
Stable stuff will nearly always be pulled in from known developer forks, which can be done by anyone who has write access to the main repository. Experimental stuff should not go in this branch.&lt;br /&gt;
&lt;br /&gt;
==== Guidelines ====&lt;br /&gt;
Commits that are merged from a fork into ''master'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be merged into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* merged from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch will be based on ''master'' and will contain any changes that are unplanned or haven't been tested properly yet. We will provide experimental nightly builds for those who wish to test any experimental (non-stable) features. This branch will be kept in sync with the master branch by periodically fetching and merging the changes from master.&lt;br /&gt;
&lt;br /&gt;
Experimental stuff can be pulled in from any fork (known or unknown developers), which can be done by anyone who has write access to the main repository. Stable stuff doesn't have to be merged in this branch as it is automatically pulled in from master (see above).&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master''&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/experimental''&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21462</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21462"/>
		<updated>2009-09-08T17:26:46Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Why Git? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, have a look at the linked Git guide below&amp;lt;ref name=&amp;quot;guide&amp;quot;&amp;gt;[http://code.opencoding.net/mta/git/peepcode-git.pdf Git Internals by Scott Chacon]&amp;lt;/ref&amp;gt;. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. Some relevant features are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details&amp;lt;ref name=&amp;quot;guide&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* experimental (branch)&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release and nothing more (at that point, we'll fork it into 1.x-Release). In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [Roadmap]. Nightly builds will be available for anyone who wishes to test and use the stable version.&lt;br /&gt;
&lt;br /&gt;
Stable stuff will nearly always be pulled in from known developer forks, which can be done by anyone who has write access to the main repository. Experimental stuff should not go in this branch.&lt;br /&gt;
&lt;br /&gt;
==== Guidelines ====&lt;br /&gt;
Commits that are merged from a fork into ''master'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be merged into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* merged from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch will be based on ''master'' and will contain any changes that are unplanned or haven't been tested properly yet. We will provide experimental nightly builds for those who wish to test any experimental (non-stable) features. This branch will be kept in sync with the master branch by periodically fetching and merging the changes from master.&lt;br /&gt;
&lt;br /&gt;
Experimental stuff can be pulled in from any fork (known or unknown developers), which can be done by anyone who has write access to the main repository. Stable stuff doesn't have to be merged in this branch as it is automatically pulled in from master (see above).&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master''&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/experimental''&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21461</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21461"/>
		<updated>2009-09-08T17:24:55Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Offline commits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, have a look at the linked Git guide below&amp;lt;ref name=&amp;quot;guide&amp;quot;&amp;gt;[http://code.opencoding.net/mta/git/peepcode-git.pdf Git Internals by Scott Chacon]&amp;lt;/ref&amp;gt;. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. The most relevant ones are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details&amp;lt;ref name=&amp;quot;guide&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. Obviously, this benefits the speed at which you commit as there's no need to send any data to the remote repository. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability and push in one go.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* experimental (branch)&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release and nothing more (at that point, we'll fork it into 1.x-Release). In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [Roadmap]. Nightly builds will be available for anyone who wishes to test and use the stable version.&lt;br /&gt;
&lt;br /&gt;
Stable stuff will nearly always be pulled in from known developer forks, which can be done by anyone who has write access to the main repository. Experimental stuff should not go in this branch.&lt;br /&gt;
&lt;br /&gt;
==== Guidelines ====&lt;br /&gt;
Commits that are merged from a fork into ''master'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be merged into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* merged from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch will be based on ''master'' and will contain any changes that are unplanned or haven't been tested properly yet. We will provide experimental nightly builds for those who wish to test any experimental (non-stable) features. This branch will be kept in sync with the master branch by periodically fetching and merging the changes from master.&lt;br /&gt;
&lt;br /&gt;
Experimental stuff can be pulled in from any fork (known or unknown developers), which can be done by anyone who has write access to the main repository. Stable stuff doesn't have to be merged in this branch as it is automatically pulled in from master (see above).&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master''&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/experimental''&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21460</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21460"/>
		<updated>2009-09-08T17:23:11Z</updated>

		<summary type="html">&lt;p&gt;IJs: /* Forks and patches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, have a look at the linked Git guide below&amp;lt;ref name=&amp;quot;guide&amp;quot;&amp;gt;[http://code.opencoding.net/mta/git/peepcode-git.pdf Git Internals by Scott Chacon]&amp;lt;/ref&amp;gt;. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. The most relevant ones are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and pull (fetch &amp;amp; merge) them into the multitheftauto repository. See the guide (p.39) for more details&amp;lt;ref name=&amp;quot;guide&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* experimental (branch)&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release and nothing more (at that point, we'll fork it into 1.x-Release). In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [Roadmap]. Nightly builds will be available for anyone who wishes to test and use the stable version.&lt;br /&gt;
&lt;br /&gt;
Stable stuff will nearly always be pulled in from known developer forks, which can be done by anyone who has write access to the main repository. Experimental stuff should not go in this branch.&lt;br /&gt;
&lt;br /&gt;
==== Guidelines ====&lt;br /&gt;
Commits that are merged from a fork into ''master'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be merged into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* merged from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch will be based on ''master'' and will contain any changes that are unplanned or haven't been tested properly yet. We will provide experimental nightly builds for those who wish to test any experimental (non-stable) features. This branch will be kept in sync with the master branch by periodically fetching and merging the changes from master.&lt;br /&gt;
&lt;br /&gt;
Experimental stuff can be pulled in from any fork (known or unknown developers), which can be done by anyone who has write access to the main repository. Stable stuff doesn't have to be merged in this branch as it is automatically pulled in from master (see above).&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master''&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/experimental''&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21459</id>
		<title>Git Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Git_Coding_Guidelines&amp;diff=21459"/>
		<updated>2009-09-08T17:22:11Z</updated>

		<summary type="html">&lt;p&gt;IJs: Created page with 'This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHu…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to discuss a new set of coding guidelines that will be used for the rest of the development phase through [http://git-scm.com/ Git] and [http://www.github.com/ GitHub].  It also covers related aspects of the development process such as nightly builds.&lt;br /&gt;
&lt;br /&gt;
Before you start reading, have a look at the linked Git guide below&amp;lt;ref name=&amp;quot;guide&amp;quot;&amp;gt;[http://code.opencoding.net/mta/git/peepcode-git.pdf Git Internals by Scott Chacon]&amp;lt;/ref&amp;gt;. It does a pretty good job of explaining how Git works.&lt;br /&gt;
&lt;br /&gt;
== Why Git? ==&lt;br /&gt;
Git has several advantages compared to our current source code management system Subversion. The most relevant ones are outlined below.&lt;br /&gt;
&lt;br /&gt;
=== Forks and patches ===&lt;br /&gt;
One of the differences of Git is that it is distributed. That is, everyone owns his/her own repository that is [http://en.wikipedia.org/wiki/Fork_(software_development) forked] from our main repository [http://github.com/multitheftauto/multitheftauto/tree multitheftauto/multitheftauto], and all the changes that one would normally commit to the SVN trunk (or branch) are kept in that forked repository.&lt;br /&gt;
&lt;br /&gt;
The advantage of this approach is that any programmer in the world that is registered at GitHub is capable of forking the multitheftauto repository and work on their own changes. All forks based on multitheftauto will show up on the [http://github.com/multitheftauto/multitheftauto/network/members Networks] page at GitHub, so it'll be easy to track. No need to mess around with patches: if we see someone doing good work, whether it be a known or unknown developer, it's just a matter of reviewing the commits (comments can be posted for every commit, in every file, on every line) and fetch+merge them into the multitheftauto repository. See the guide (p.39) for more details&amp;lt;ref name=&amp;quot;guide&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Offline commits ====&lt;br /&gt;
Another feature of Git is that you don't need an internet connection in order to commit. You can commit as much as you want to your local (off-line) repository, and just push all of these when you feel like it. This can also be advantageous when you're doing a lot of work that you want to split up in commits for maintainability.&lt;br /&gt;
&lt;br /&gt;
==== Synchronization with SVN ====&lt;br /&gt;
Git is fully compatible with our current SVN repository. This means that any changes that are made in git repositories can be committed to the SVN repository, and any changes that are made in the SVN repository can be fetched into the git repository. As far as migration goes, this is pretty valuable as we will be able to work side-to-side with SVN and git while people are switching over.&lt;br /&gt;
&lt;br /&gt;
== Master, experimental, trunks and branches ==&lt;br /&gt;
The main repository ''multitheftauto/multitheftauto'' will be set up with write access for all current project contributors and owners. The repository is structed as follows:&lt;br /&gt;
* master&lt;br /&gt;
* experimental (branch)&lt;br /&gt;
* 1.0-Release (tag)&lt;br /&gt;
&lt;br /&gt;
=== Master ===&lt;br /&gt;
The ''master'' is the default (top) branch that will contain the stable version that will ultimately form the next release and nothing more (at that point, we'll fork it into 1.x-Release). In order to keep the master stable, we will only merge the changes in that are planned and outlined in the [Roadmap]. Nightly builds will be available for anyone who wishes to test and use the stable version.&lt;br /&gt;
&lt;br /&gt;
Stable stuff will nearly always be pulled in from known developer forks, which can be done by anyone who has write access to the main repository. Experimental stuff should not go in this branch.&lt;br /&gt;
&lt;br /&gt;
==== Guidelines ====&lt;br /&gt;
Commits that are merged from a fork into ''master'' must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* tested for stability and correctness (if necessary, the commit can be merged into ''experimental'' first for testing purposes)&lt;br /&gt;
&lt;br /&gt;
Commits that have already been merged into ''experimental'' and were found to be stable must be:&lt;br /&gt;
* reviewed by other developers&lt;br /&gt;
* merged from the originating fork into ''master''&lt;br /&gt;
&lt;br /&gt;
=== Experimental ===&lt;br /&gt;
The ''experimental'' branch will be based on ''master'' and will contain any changes that are unplanned or haven't been tested properly yet. We will provide experimental nightly builds for those who wish to test any experimental (non-stable) features. This branch will be kept in sync with the master branch by periodically fetching and merging the changes from master.&lt;br /&gt;
&lt;br /&gt;
Experimental stuff can be pulled in from any fork (known or unknown developers), which can be done by anyone who has write access to the main repository. Stable stuff doesn't have to be merged in this branch as it is automatically pulled in from master (see above).&lt;br /&gt;
&lt;br /&gt;
== Nightly builds ==&lt;br /&gt;
As mentioned above, nightly builds will be available in two different flavours:&lt;br /&gt;
* stable (compiled from ''multitheftauto/multitheftauto/master''&lt;br /&gt;
* unstable (compiled from ''multitheftauto/multitheftauto/experimental''&lt;br /&gt;
&lt;br /&gt;
We will have to decide on the frequency of the (nightly) builds as these could be different for the two.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21427</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21427"/>
		<updated>2009-09-05T21:16:35Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements.&lt;br /&gt;
&lt;br /&gt;
The development ''trunk'' will always contain the current version. Work for future versions can be done in separate branches, and will only be merged when the trunk is at the version in which the work was expected to be introduced.&lt;br /&gt;
&lt;br /&gt;
Bugtracker roadmap: http://bugs.mtasa.com/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
'''Release date:''' 22/08/09&lt;br /&gt;
&lt;br /&gt;
This is the initial open-source release version.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0 and are degrading the stability and/or gameplay&lt;br /&gt;
* Improvements for server deployment on *nix systems&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Delayed fixes or fixes that were unknown during 1.0.1 development&lt;br /&gt;
&lt;br /&gt;
=== 1.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Usability improvements and additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Unicode support&lt;br /&gt;
* Improved chatbox&lt;br /&gt;
* Improved and unified server database support&lt;br /&gt;
&lt;br /&gt;
=== 1.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Script and gameplay improvements or additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Improved ped synchronization&lt;br /&gt;
* Custom animations&lt;br /&gt;
* Packet/demo recorder&lt;br /&gt;
* Increased game limits&lt;br /&gt;
&lt;br /&gt;
=== 1.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Rethink and revise existing crucial parts of the software for stability, maintainability and performance&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Resource system reimplementation&lt;br /&gt;
* High-performance streamer reimplementation&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Radical engine improvements&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Integrated server-side physics engine&lt;br /&gt;
* Complete and high-performance vector/matrix math library&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21426</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21426"/>
		<updated>2009-09-05T20:53:55Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements. &lt;br /&gt;
&lt;br /&gt;
Bugtracker roadmap: http://bugs.mtasa.com/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
'''Release date:''' 22/08/09&lt;br /&gt;
&lt;br /&gt;
This is the initial open-source release version.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0 and are degrading the stability and/or gameplay&lt;br /&gt;
* Improvements for server deployment on *nix systems&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Delayed fixes or fixes that were unknown during 1.0.1 development&lt;br /&gt;
&lt;br /&gt;
=== 1.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Usability improvements and additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Unicode support&lt;br /&gt;
* Improved chatbox&lt;br /&gt;
* Improved and unified server database support&lt;br /&gt;
&lt;br /&gt;
=== 1.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Script and gameplay improvements or additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Improved ped synchronization&lt;br /&gt;
* Custom animations&lt;br /&gt;
* Packet/demo recorder&lt;br /&gt;
* Increased game limits&lt;br /&gt;
&lt;br /&gt;
=== 1.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Rethink and revise existing crucial parts of the software for stability, maintainability and performance&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Resource system reimplementation&lt;br /&gt;
* High-performance streamer reimplementation&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Radical engine improvements&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Integrated server-side physics engine&lt;br /&gt;
* Complete and high-performance vector/matrix math library&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21425</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Roadmap&amp;diff=21425"/>
		<updated>2009-09-05T20:52:53Z</updated>

		<summary type="html">&lt;p&gt;IJs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a rough outline of the Multi Theft Auto roadmap. The roadmap is used to plan future versions and the changes they contain, specifying a general development direction for the software. It is different from the bugtracker roadmap in the sense that it provides a general description of each version, so that issues on the bugtracker can be targetted at specific versions more easily.&lt;br /&gt;
&lt;br /&gt;
Versions are defined as follows: ''major''.''minor''.''revision'' according to the GNU version numbering scheme. Revision releases (with identical minor versions, e.g. 1.0 and 1.0.1) will only contain fixes and no significant code restructuring, reimplementations or other new features or improvements, compared to the previous revision. Minor releases (e.g. 1.0 and 1.1) will be used to introduce new features and any aforementioned improvements. &lt;br /&gt;
&lt;br /&gt;
Next version: '''1.0.1'''&lt;br /&gt;
Bugtracker roadmap: http://bugs.mtasa.com/roadmap_page.php&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
'''Release date:''' 22/08/09&lt;br /&gt;
&lt;br /&gt;
This is the initial open-source release version.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Fixes for major, high-priority issues and crashes that are present in version 1.0 and are degrading the stability and/or gameplay&lt;br /&gt;
* Improvements for server deployment on *nix systems&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Bugfix release&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Delayed fixes or fixes that were unknown during 1.0.1 development&lt;br /&gt;
&lt;br /&gt;
=== 1.1 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Usability improvements and additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Unicode support&lt;br /&gt;
* Improved chatbox&lt;br /&gt;
* Improved and unified server database support&lt;br /&gt;
&lt;br /&gt;
=== 1.2 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Script and gameplay improvements or additions&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Improved ped synchronization&lt;br /&gt;
* Custom animations&lt;br /&gt;
* Packet/demo recorder&lt;br /&gt;
* Increased game limits&lt;br /&gt;
&lt;br /&gt;
=== 1.3 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Rethink and revise existing crucial parts of the software for stability, maintainability and performance&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Resource system reimplementation&lt;br /&gt;
* High-performance streamer reimplementation&lt;br /&gt;
&lt;br /&gt;
=== 2.0 ===&lt;br /&gt;
'''Release date:''' N/A&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Goal:''' Radical engine improvements&lt;br /&gt;
&lt;br /&gt;
'''Targets:'''&lt;br /&gt;
* Integrated server-side physics engine&lt;br /&gt;
* Complete and high-performance vector/matrix math library&lt;/div&gt;</summary>
		<author><name>IJs</name></author>
	</entry>
</feed>