<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.rage.mp/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Threshold</id>
	<title>RAGE Multiplayer Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.rage.mp/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Threshold"/>
	<link rel="alternate" type="text/html" href="https://wiki.rage.mp/wiki/Special:Contributions/Threshold"/>
	<updated>2026-08-18T16:58:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.rage.mp/w/index.php?title=Getting_Started_with_Client-side&amp;diff=16705</id>
		<title>Getting Started with Client-side</title>
		<link rel="alternate" type="text/html" href="https://wiki.rage.mp/w/index.php?title=Getting_Started_with_Client-side&amp;diff=16705"/>
		<updated>2018-12-22T07:44:26Z</updated>

		<summary type="html">&lt;p&gt;Threshold: Minor grammatical fixes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Client-side is the side where you have better control over a single player and provides you access to more information about the game world, but less information about the other players. You can use client-side to create &#039;&#039;&#039;GUI&#039;&#039;&#039; (Graphical User Interface), visual effects, and much more.&lt;br /&gt;
&lt;br /&gt;
== Using Client-side ==&lt;br /&gt;
&lt;br /&gt;
Client-side has a different pattern than server-side. Requiring the files are a bit different, and you can&#039;t use &#039;&#039;&#039;NPM Packages&#039;&#039;&#039; like server-side. Client-side&#039;s requiring files system needs to start from the root folder until the file you want to require. Let us give you a little example of the structure of client-side.&lt;br /&gt;
&lt;br /&gt;
*Go to the client_packages &#039;&#039;&#039;folder&#039;&#039;&#039; inside your server-files and create a new file called &#039;&#039;&#039;index.js&#039;&#039;&#039;.&lt;br /&gt;
*Create a folder and name it whatever you want, let&#039;s say &#039;&#039;&#039;gamemode&#039;&#039;&#039;.&lt;br /&gt;
* Now your structure should be like this:&lt;br /&gt;
&amp;lt;gallery widths=600px heights=77px&amp;gt;&lt;br /&gt;
File:Client_struct_1.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
*Edit your &#039;&#039;&#039;index.js&#039;&#039;&#039; and add &amp;lt;code&amp;gt;require(&#039;./gamemode/index&#039;);&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;require(&#039;./gamemode&#039;);&amp;lt;/code&amp;gt;&lt;br /&gt;
*Open your gamemode folder and create a new file called &#039;&#039;&#039;index.js&#039;&#039;&#039;.&lt;br /&gt;
*In the file, add any test script you want and it should work once you enter the game. For example, add &amp;lt;code&amp;gt;mp.gui.chat.push(&#039;Hello World&#039;)&amp;lt;/code&amp;gt;. You should get the message once you join the server.&lt;br /&gt;
&lt;br /&gt;
== Create your first client-side resource ==&lt;br /&gt;
&lt;br /&gt;
As we learned how the structure works in the previous section, now we&#039;ll create our first resource to show how client-side actually works. &#039;&#039;&#039;Remember&#039;&#039;&#039; the index we added inside the &#039;&#039;&#039;gamemode&#039;&#039;&#039; folder, it&#039;s the first file that triggered when you completely download your files, so now we&#039;ll create a simple resource which sets your discord rich presence into a custom made message.&lt;br /&gt;
&lt;br /&gt;
*Create a folder called modules (optional) inside your &#039;&#039;&#039;gamemode&#039;&#039;&#039; folder.&lt;br /&gt;
*Create a file called &#039;&#039;&#039;discord.js&#039;&#039;&#039;&lt;br /&gt;
*Add the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//We registered an event to the client side&#039;s events tree which sets discord status.&lt;br /&gt;
mp.events.add(&#039;setDiscordStatus&#039;, (serverName, status) =&amp;gt; {&lt;br /&gt;
  mp.discord.update(serverName, status)&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Go back to your &#039;&#039;&#039;index.js&#039;&#039;&#039; inside the &#039;&#039;&#039;gamemode&#039;&#039;&#039; folder and add &amp;lt;code&amp;gt;require(&#039;./gamemode/modules/discord&#039;);&amp;lt;/code&amp;gt;. Like that you required the discord module once you join/download the server. It&#039;s always necessary to add the &#039;&#039;&#039;rootFolder&#039;&#039;&#039; in your required file-path to get the file, it&#039;s not like server-side where you can just do &amp;lt;code&amp;gt;require(&#039;./modules/discord&#039;);&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Now in your &#039;&#039;&#039;index.js&#039;&#039;&#039;, add &amp;lt;code&amp;gt;mp.events.call(&#039;setDiscordStatus&#039;, &#039;Playing on Freeroam&#039;, &#039;Playing as Ronald McDonald&#039;)&amp;lt;/code&amp;gt;. If you&#039;re new to the events system, check &#039;&#039;&#039;[[Getting Started with Events|Getting Started with Events tutorial]]&#039;&#039;&#039;.&lt;br /&gt;
*If you want autocomplete, check &#039;&#039;&#039;[[Getting Started with Development|Getting Started with Development tutorial]]&#039;&#039;&#039;.&lt;br /&gt;
*Your code structure should be like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=776px heights=133px&amp;gt;&lt;br /&gt;
File:Client_struct_2.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
*Now join the server and check your discord status. It should look like this:&lt;br /&gt;
&amp;lt;gallery widths=250px heights=100px&amp;gt;&lt;br /&gt;
File:UpdatedRichPresence.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You have accomplished your first resource. Now go create your own resources/servers and share your work with the community.&lt;/div&gt;</summary>
		<author><name>Threshold</name></author>
	</entry>
	<entry>
		<id>https://wiki.rage.mp/w/index.php?title=Getting_Started_with_Development&amp;diff=16704</id>
		<title>Getting Started with Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.rage.mp/w/index.php?title=Getting_Started_with_Development&amp;diff=16704"/>
		<updated>2018-12-22T07:38:28Z</updated>

		<summary type="html">&lt;p&gt;Threshold: Minor grammatical fixes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* [https://cdn.rage.mp/client/updater.exe Rage MP updater]&lt;br /&gt;
* Basic JS/NodeJS programming knowledge&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Today we are going to show you how you can start developing your own server with a simple tutorial. We will show you how you can create your own resource and run it in your server.&lt;br /&gt;
&lt;br /&gt;
== Starting the server ==&lt;br /&gt;
&lt;br /&gt;
When downloading the [https://cdn.rage.mp/client/updater.exe Rage MP updater] and running it, you&#039;ll get the server files. The folder name will be called &amp;lt;code&amp;gt;server-files&amp;lt;/code&amp;gt;. When you open the folder you&#039;ll find this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=800px heights=426px&amp;gt;&lt;br /&gt;
File:server-files.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;client_packages&#039;&#039;&#039;: Folder in which client-side scripts reside. (Client-side allows you to draw GUI or do [https://bitbucket.org/chromiumembedded/cef CEF] work)&lt;br /&gt;
*&#039;&#039;&#039;packages&#039;&#039;&#039;: Folder in which server-side scripts reside. (Server-side allows you to manage the player and create your own world)&lt;br /&gt;
*&#039;&#039;&#039;maps&#039;&#039;&#039;: Allows you to load maps into the game world in JSON format.&lt;br /&gt;
*&#039;&#039;&#039;plugins&#039;&#039;&#039;: Allows you to load custom &#039;&#039;&#039;dll&#039;&#039;&#039; plugins into the game.&lt;br /&gt;
*&#039;&#039;&#039;conf.json&#039;&#039;&#039;: Contains the server configuration in JSON format. Read more about server settings [[Server_settings|here]].&lt;br /&gt;
*&#039;&#039;&#039;server.exe&#039;&#039;&#039;: Server executable, which if you run, starts the game server.&lt;br /&gt;
&lt;br /&gt;
Currently you&#039;ll find your folders empty, so if you want to load a gamemode there is a [https://github.com/n-n1ks/rage.mp-freeroam freeroam gamemode] available to study/use on your server.&lt;br /&gt;
&lt;br /&gt;
== Setting up API autocomplete ==&lt;br /&gt;
&lt;br /&gt;
Autocompletion is one of the most important features a developer can use while developing. It&#039;s annoying to keep searching in the wiki for the right syntax or find the right function you want. Thanks to &#039;&#039;&#039;CocaColaBear&#039;&#039;&#039; for his great contribution in creating an autocompletion package for RAGE JS API.&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/CocaColaBear/types-ragemp-s autocomplete SERVER]&lt;br /&gt;
*[https://github.com/CocaColaBear/types-ragemp-c autocomplete CLIENT]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
*Open your terminal and navigate to your server&#039;s folder.&lt;br /&gt;
*Install the following Node packages:&lt;br /&gt;
**&amp;lt;code&amp;gt;npm install --save-dev github:CocaColaBear/types-ragemp-s#master&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;npm install --save-dev github:CocaColaBear/types-ragemp-c#master&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;npm install --save-dev https://github.com/CocaColaBear/types-ragemp-c/tarball/master&amp;lt;/code&amp;gt;&lt;br /&gt;
*You should now get autocomplete.&lt;br /&gt;
*Follow our next title to find out how the environment works and you&#039;ll notice that autocomplete is working.&lt;br /&gt;
&lt;br /&gt;
== Creating your first resource ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Rage Multiplayer&amp;lt;/b&amp;gt; consists of 2 sides of scripting, &#039;&#039;&#039;Client-side&#039;&#039;&#039; and &#039;&#039;&#039;Server-side&#039;&#039;&#039;. So as mentioned above, &#039;&#039;&#039;Client-side&#039;&#039;&#039; allows you to create and develop UI and show people your creativity, while &#039;&#039;&#039;Server-side&#039;&#039;&#039; allows you to manage the server itself with things like managing players, vehicles, and markers etc.&lt;br /&gt;
&lt;br /&gt;
Today we will create our first server-side resource, and will see how it works ingame.&lt;br /&gt;
&lt;br /&gt;
First of all, go to &amp;lt;code&amp;gt;packages&amp;lt;/code&amp;gt; and create a folder. (Call it anything you want) Then in your server folder, create an &amp;lt;code&amp;gt;index.js&amp;lt;/code&amp;gt; file. After that, open the file and write the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//init Commands file&lt;br /&gt;
require(&#039;./commands.js&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now save and close the file. Now create another file called &amp;lt;code&amp;gt;commands.js&amp;lt;/code&amp;gt; and open it.&lt;br /&gt;
&lt;br /&gt;
Add these simple commands to your file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
mp.events.addCommand(&#039;kill&#039;, (player) =&amp;gt; {&lt;br /&gt;
    player.health = 0;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mp.events.addCommand(&#039;hp&#039;, (player) =&amp;gt; {&lt;br /&gt;
    player.health = 100;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mp.events.addCommand(&#039;armor&#039;, (player) =&amp;gt; {&lt;br /&gt;
    player.armour = 100;&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
If you don&#039;t understand these, please proceed to [[Getting Started with Commands|Getting started with commands]]. Now we have created a simple source with 3 basic commands. One that gives health, one that gives armor, and one that kills you.&lt;br /&gt;
&lt;br /&gt;
Now save the file and close it. Have you noticed anything wrong with the code we just wrote? If not, let me give you a hint. If you trigger the kill command, this means it will kill the player, but will you re-spawn back? I have the solution for you!&lt;br /&gt;
&lt;br /&gt;
Create a &#039;&#039;&#039;JSON&#039;&#039;&#039; file and name it &amp;lt;code&amp;gt;spawn_points.json&amp;lt;/code&amp;gt; and then add the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;SpawnPoints&amp;quot;: [&lt;br /&gt;
        { &amp;quot;x&amp;quot;: -425.517, &amp;quot;y&amp;quot;: 1123.620, &amp;quot;z&amp;quot;: 325.8544 },&lt;br /&gt;
        { &amp;quot;x&amp;quot;: -415.777, &amp;quot;y&amp;quot;: 1168.791, &amp;quot;z&amp;quot;: 325.854 },&lt;br /&gt;
        { &amp;quot;x&amp;quot;: -432.534, &amp;quot;y&amp;quot;: 1157.461, &amp;quot;z&amp;quot;: 325.854 },&lt;br /&gt;
        { &amp;quot;x&amp;quot;: -401.850, &amp;quot;y&amp;quot;: 1149.482, &amp;quot;z&amp;quot;: 325.854 }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Done? Now save it and close. &lt;br /&gt;
&lt;br /&gt;
Create a new file called &amp;lt;code&amp;gt;events.js&amp;lt;/code&amp;gt; and add the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
let spawnPoints = require(&#039;./spawn_points.json&#039;).SpawnPoints;&lt;br /&gt;
&lt;br /&gt;
mp.events.add(&#039;playerDeath&#039;, (player) =&amp;gt; {&lt;br /&gt;
    player.spawn(spawnPoints[Math.floor(Math.random() * spawnPoints.length)]);&lt;br /&gt;
    player.health = 100;&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We have defined our spawn points that we want the player to spawn in, and then we added an event for when the player dies. When this event is triggered, they re-spawn in a random location from the spawn points you defined. Also don&#039;t forget to make the player&#039;s health 100 again or they can teleport while dead to the spawn point.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Don&#039;t forget to require the &amp;lt;code&amp;gt;events.js&amp;lt;/code&amp;gt; in the &amp;lt;code&amp;gt;index.js&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Your &amp;lt;code&amp;gt;index.js&amp;lt;/code&amp;gt; file should be like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//init Commands file&lt;br /&gt;
require(&#039;./commands.js&#039;)&lt;br /&gt;
&lt;br /&gt;
//init Events file&lt;br /&gt;
require(&#039;./events.js&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now save everything and launch your server and go test what you just wrote!&lt;br /&gt;
&lt;br /&gt;
I hope you enjoyed creating your first script in RAGE:MP and we will be sure to create further tutorials for you to learn more.&lt;br /&gt;
Happy Gaming!&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Threshold</name></author>
	</entry>
	<entry>
		<id>https://wiki.rage.mp/w/index.php?title=Getting_Started_with_Server&amp;diff=16703</id>
		<title>Getting Started with Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.rage.mp/w/index.php?title=Getting_Started_with_Server&amp;diff=16703"/>
		<updated>2018-12-22T07:27:57Z</updated>

		<summary type="html">&lt;p&gt;Threshold: Minor grammatical fixes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This brief tutorial will show you how to run your server on both Windows and Linux distributions.&lt;br /&gt;
&lt;br /&gt;
By default, the server makes use of port 22005 UDP for server access and the port after (here 22006) for the HTTP server hosting the client packages for the clients to download from.&amp;lt;br&amp;gt;      &lt;br /&gt;
So make sure to have done the ports forwarding on your router process and have also unblocked the ports on your firewall before running the server. &lt;br /&gt;
&lt;br /&gt;
=Bridge=&lt;br /&gt;
The following tutorial is found on [https://wiki.gtanet.work/index.php?title=Setting_up_the_Bridge_on_Linux/Windows Setting up the Bridge on Linux/Windows].&lt;br /&gt;
&lt;br /&gt;
=Windows=&lt;br /&gt;
==Prerequisite==&lt;br /&gt;
For a hassle-free installation and operation, it is recommended to have the latest VC Redist.&lt;br /&gt;
&lt;br /&gt;
[https://aka.ms/vs/15/release/VC_redist.x64.exe Microsoft Visual C++ Redistributable 2017]&lt;br /&gt;
&lt;br /&gt;
==Setting up the server==&lt;br /&gt;
1. Download the latest [https://cdn.rage.mp/client/updater.exe updater.exe].&lt;br /&gt;
&lt;br /&gt;
2. Run the downloaded &#039;&#039;&#039;updater.exe&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3. Launch &#039;&#039;&#039;server.exe&#039;&#039;&#039; and you should be able to connect to it. &lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
==Prerequisite==&lt;br /&gt;
===Ubuntu===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:ubuntu-toolchain-r/test&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install libstdc++6&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debian===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;deb http://httpredir.debian.org/debian testing main contrib non-free&#039; &amp;gt; /etc/apt/sources.list&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install -y -t testing gcc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setting up server==&lt;br /&gt;
This bash snippet should automate the server installation.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Downloading server&lt;br /&gt;
wget https://cdn.rage.mp/lin/ragemp-srv-036.tar.gz&lt;br /&gt;
&lt;br /&gt;
# Extract the server files&lt;br /&gt;
tar -xzf ragemp-srv-036.tar.gz&lt;br /&gt;
&lt;br /&gt;
# Accessing the directory&lt;br /&gt;
cd ragemp-srv&lt;br /&gt;
&lt;br /&gt;
# Set executable permission&lt;br /&gt;
chmod +x server&lt;br /&gt;
&lt;br /&gt;
# Run the server&lt;br /&gt;
./server&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installing screen (Optional)==&lt;br /&gt;
For running the server in the background, we recommend using screen, mainly for its ease of use.&lt;br /&gt;
&lt;br /&gt;
===Debian based (Ubuntu &amp;amp; derivatives)===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install screen&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CentOS 6.x/7.x===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
yum install screen&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Starting the server===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
screen -dmS GTASERVER -L bash -c &#039;cd ~/srv &amp;amp;&amp;amp; ./server&#039; &amp;amp;&lt;br /&gt;
&lt;br /&gt;
# Parameter explanation&lt;br /&gt;
# screen -dmS = starts a separate shell without directly opening an interface towards it (detached mode). The S param defines a session name for the newly created session, so that it is easier to manage in the future.&lt;br /&gt;
# screen -L = basically logs whatever error that is shown by the server through the separate shell into a file for easier reference in the future.&lt;br /&gt;
# !IMPORTANT!&lt;br /&gt;
# Log output will be saved as screenlog._number_ in the server directory.&lt;br /&gt;
# &amp;amp;: IS IMPORTANT IF YOU WANT TO TERMINATE THE PROCESS GRACEFULLY&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Stopping the server===&lt;br /&gt;
There&#039;s usually two ways to stop the server; One that we call a &#039;&#039;&#039;graceful&#039;&#039;&#039; shutdown that sends the server a signal for termination and the other, well, a &#039;&#039;&#039;crash&#039;&#039;&#039; since it does not allow the code to run through the termination process correctly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RECOMMENDED:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kill $(ps h --ppid $(screen -ls | grep GTASERVER | cut -d. -f1) -o pid)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOT RECOMMENDED:&#039;&#039;&#039; It does not shut down the server gracefully&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
screen -S GTASERVER -X quit &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
==Linux==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./server: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22&#039; not found (required by ./server)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure GCC/G++ 6 or newer is installed, follow the [[Getting_Started_with_Server#Prerequisite|Prerequisite]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Threshold</name></author>
	</entry>
</feed>