Dans ce tutoriel nous allons vous guider dans la mise en place de votre serveur FiveM. L'installation de son serveur FiveM est assez simple, la documentation officielle étant très complète. De quoi créer le serveur FiveM de vos rêves sur votre serveur VPS. Ce tuto se concentre sur la version Linux pour Debian ou Ubuntu.

Installation des dépendances

Pour installer les dépendances, vous devez être administrateur.

Dépendances sur Debian

apt install wget xz-utils git nano

Dépendances sur Ubuntu

sudo apt install wget xz-utils git nano

Création d'un utilisateur

Nous allons commencer par créer un nouvel utilisateur sur notre système, pour isoler par sécurité les droits d'éxécutions sur notre vps de notre serveur FiveM. Vous devez être administrateur pour entrer cette commande.

adduser fivem

Une fois le compte créé, connectez-vous avec:

su - fivem

Installation du serveur FiveM

Pour commencer, créez un répertoire pour les fichiers du serveur FiveM:

mkdir -p /home/fivem/server/src
cd /home/fivem/server/src

Maintenant que nous avons préparé le terrain, commençons par récupérer les fichiers nécessaires. Rendez-vous sur la page suivante et copiez le lien du bouton Latest Recommended (par exemple au moment de la rédaction de cet article: https://runtime.fivem.net/artifacts/fivem/build\_proot\_linux/master/2967-2b71645c6a0aa659e8df6ac34a3a1e487e95aedb/fx.tar.xz).

Vous avez le lien? Un va télécharger l'archive avec wget URL.tar.xs.

Dans mon exemple:

wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/2967-2b71645c6a0aa659e8df6ac34a3a1e487e95aedb/fx.tar.xz

Maintenant on va extraire le contenu de l'archive:

tar -xvf fx.tar.xz && rm fx.tar.xz

Nous allons maintenant récupérer les données citizens avec la commande git. Le dossier de réception doit être un dossier en dehors de l'arborescence des fichiers du serveur que nous venons de télécharger.

git clone https://github.com/citizenfx/cfx-server-data.git /home/fivem/server/server-data

Configuration du serveur FiveM

Maintenant nous allons créer le fichier de configuration principal server.cfg:

Avec la commande nano, créez le fichier dans /home/fivem/server/server-data et copiez le contenu suivant dedans :

touch /home/fivem/server/server-data/server.cfg
nano /home/fivem/server/server-data/server.cfg

Pour quitter l'éditeur et sauvegarder votre modification, appuyez sur les touches CTRL + X et validez.

# Only change the IP if you're using a server with multiple network interfaces, otherwise change the port only.
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

# These resources will start by default.
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure fivem
ensure hardcap
ensure rconlog
ensure scoreboard

# This allows players to use scripthook-based plugins such as the legacy Lambda Menu.
# Set this to 1 to allow scripthook. Do note that this does _not_ guarantee players won't be able to use external plugins.
sv_scriptHookAllowed 0

# Uncomment this and set a password to enable RCON. Make sure to change the password - it should look like rcon_password "YOURPASSWORD"
#rcon_password ""

# A comma-separated list of tags for your server.
# For example:
# - sets tags "drifting, cars, racing"
# Or:
# - sets tags "roleplay, military, tanks"
sets tags "default"

# A valid locale identifier for your server's primary language.
# For example "en-US", "fr-CA", "nl-NL", "de-DE", "en-GB", "pt-BR"
sets locale "root-AQ" 
# please DO replace root-AQ on the line ABOVE with a real language! :)

# Set an optional server info and connecting banner image url.
# Size doesn't matter, any banner sized image will be fine.
#sets banner_detail "https://url.to/image.png"
#sets banner_connecting "https://url.to/image.png"

# Set your server's hostname
sv_hostname "FXServer, but unconfigured"

# Nested configs!
#exec server_internal.cfg

# Loading a server icon (96x96 PNG file)
#load_server_icon myLogo.png

# convars which can be used in scripts
set temp_convar "hey world!"

# Uncomment this line if you do not want your server to be listed in the server browser.
# Do not edit it if you *do* want your server listed.
#sv_master1 ""

# Add system admins
add_ace group.admin command allow # allow all commands
add_ace group.admin command.quit deny # but don't allow quit
add_principal identifier.fivem:1 group.admin # add the admin to the group

# Hide player endpoints in external log output.
sv_endpointprivacy true

# enable OneSync with default configuration (required for server-side state awareness)
onesync_enabled true

# Server player slot limit (must be between 1 and 32, unless using OneSync)
sv_maxclients 32

# Steam Web API key, if you want to use Steam authentication (https://steamcommunity.com/dev/apikey)
# -> replace "" with the key
set steam_webApiKey ""

# License key for your server (https://keymaster.fivem.net)
sv_licenseKey changeme

Générer une licence FiveM

Pour fonctionner, votre serveur fivem nécessite une licence valide. Pour en créer une, rendez-vous ici: https://keymaster.fivem.net/ et générez votre licence.

Une fois la licence générée, éditez le fichier de configuration. En bas du fichier, se trouve la variable sv_licenceKey que vous devez éditer.

nano /home/fivem/server/server-data/server.cfg

# Editez - sv_licenseKey "licenseKeyGoesHere".

Démarrer le serveur

Il ne nous reste plus qu'à démarrer le serveur :

cd /home/fivem/server/server-data/
bash /home/fivem/server/src/run.sh +exec /home/fivem/server/server-data/server.cfg