Getting Started with Server
Introduction
- [Ru:Getting Started with Server](/ru-getting-started-with-server)
This brief tutorial will show you how to run your server on both Windows and Linux distributions.
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.
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.
Windows
Prerequisite
For a hassle-free installation and operation, it is recommended to have the latest VC Redist.
[Microsoft Visual C++ Redistributable 2017](https://aka.ms/vs/15/release/VC_redist.x64.exe)
Setting up the Server
How to Get Server Files
- Download the RAGE Multiplayer Client ([Download Here](https://cdn.rage.mp/public/files/RAGEMultiplayer_Setup.exe))
- Edit the XML configuration: Change prerelease to prerelease_server in RAGEMP/config.xml.
- Run the updater: Execute updater.exe.
- Retrieve Server Files: Locate and take the server_files folder.
- Revert Configuration: Change back from prerelease_server to prerelease in RAGEMP/config.xml.
- Final Update: Run updater.exe again to restore the proper client version.
Starting the Server
- Navigate to the server_files folder.
- Execute ragemp-server.exe.
- Connect locally using the default IP: 127.0.0.1:22005.
Additional Information
- For detailed server settings, refer to the [Server Settings](https://wiki.rage.mp/index.php?title=Server_settings) page on the RAGE Multiplayer wiki.
Next step
[Getting Started with Development](/getting-started-with-development)
Linux
Prerequisite
It's recommended to use Debian or Ubuntu to set up a server if you're new to Linux.
- Debian 10 or above [See more](https://distrowatch.com/table.php?distribution=debian)
- Ubuntu 18.10 or above [See more](https://distrowatch.com/table.php?distribution=ubuntu)
- An OS that supports glibc v2.28
Ubuntu
```bash sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test sudo apt update && sudo apt install libstdc++6 ```
Debian
```bash echo 'deb <http://httpredir.debian.org/debian> testing main contrib non-free' > /etc/apt/sources.list apt update && apt install -y -t testing libstdc++6 ```
Setting up server
This bash snippet should automate the server installation.
```bash
- Downloading server
wget <https://cdn.rage.mp/updater/prerelease/server-files/linux_x64.tar.gz>
- Extract the server files
tar -xzf linux_x64.tar.gz
- Accessing the directory
cd ragemp-srv
- Set executable permission
chmod +x ragemp-server
- Run the server
./ragemp-server ```
Launching the server as a daemon (systemd)
If you want to launch the server as a daemon on the latest version of Ubuntu/Debian/CentOS, you need to follow these steps:
1. We recommend move your server to /opt e.g mv ./ragemp-srv /opt/
2. Create the systemd unit (e.g /etc/systemd/system/rageserv.service) and enter this config:
```ini [Unit] Description=RAGE-MP Dedicated server After=network.target StartLimitIntervalSec=0
[Service] Type=simple Restart=always RestartSec=1
not safe, change root to another user
User=root WorkingDirectory=/opt/ragemp-srv ExecStart=/opt/ragemp-srv/ragemp-server
[Install] WantedBy=multi-user.target ```
Important: If you have not moved the directory, you need to edit WorkingDirectory and ExecStart with new absolute paths.
3. After saving the new unit we recommend you to update your systemd unit's list.
4. Finally! Now you can enable and run the unit via these commands:
- systemctl enable rageserv
- systemctl start rageserv
If you want to watch status of your server you need enter:
```bash systemctl status rageserv ```
If you want to restart your server you need to enter:
```bash systemctl restart rageserv ```
More commands and other details can be found [here.](https://www.freedesktop.org/software/systemd/man/systemctl.html#Unit%20File%20Commands)
Installing screen (Optional)
For running the server in the background, we recommend using screen, mainly for its ease of use.
Debian based (Ubuntu & derivatives)
```bash sudo apt-get install screen ```
CentOS 6.x/7.x
```bash yum install screen ```
Starting the server
```bash screen -dmS GTASERVER -L bash -c 'cd ~/srv && ./server' & ```
<u>Parameter explanation:</u>
```bash 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 (in this case GTASERVER`), so that it is easier to manage in the future. ``
```bash 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.
!IMPORTANT!
- Log output will be saved as `screenlog._number_` in the server directory.
- `&` IS IMPORTANT IF YOU WANT TO TERMINATE THE PROCESS GRACEFULLY.
Stopping the server
There are usually two ways to stop the server; One that we call a graceful shutdown that sends the server a signal for termination and the other, well, a crash since it does not allow the code to run through the termination process correctly.
RECOMMENDED:
```bash kill $(ps h --ppid $(screen -ls | grep GTASERVER | cut -d. -f1) -o pid) ```
NOT RECOMMENDED: It does not shut down the server gracefully
```bash screen -S GTASERVER -X quit ```
Troubleshooting
Linux
```bash ./server: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by ./server) ```
Make sure GCC/G++ 6 or newer is installed, follow the [Prerequisite](#prerequisite-2).
See also
- [Server settings](/server-settings)