Bonjour à tous,
Aujourd’hui je vous propose un tutoriel complet sur l’installation de votre serveur FiveM avec la dernière version de es_extended sur Windows Server 2016. Valable aussi pour Windows Server 2019.
Chaque étapes sera expliquées et accompagner d’une image. Une vidéo sera aussi rajouté à la fin du tutoriel pour ceux qui préfère regarder plutôt que lire.
Lien de la vidéo youtube qui accompagne le tutoriel : Vidéo youtube
Requirements vps / dedier
Pour l’hébergement de votre serveur de développement, il est inutile de louer un gros vps/dedier car nous ne cherchons pas la performance.
Un serveur de développement est fait pour être « casser » et non accepter la charge de plusieurs joueurs.
Un petit VPS à une quinzaine d’euro suffira largement, voici quelques exemples de provider de confiance :
- Sys-One -> www.sys-one.fr
- One provider -> www.oneprovider.com
- Scaleway -> www.scaleway.com
- Soyoustart -> www.soyoustart.com
- Kimsufi -> www.kimsufi.com
- Omgserv -> www.omgserv.com
Requirements Windows Server 2016
- Soyez sur d’avoir fait toute les mises à jour de votre serveur avant de commencer.
- Ouvrer les ports firewall en TCP / UDP 30120 pour pouvoir se connecter au serveur
- Mariadb -> mariadb 10.4
- Git pour Windows -> git for Windows
- Visual C++ Redistributable 2019 -> Visual C++ Redistributable 2019
- Notepad ++ -> Notepad ++
Requirements FiveM
- Build for Windows -> Build for Windows
- Server-data -> Server-data
- Server.cfg -> Server.cfg
- License Key -> License key
Requirements Esx
- Es_extended -> Es_extended
- Mysql-async -> Mysql-Async
- Async -> Async
Étape 1 :
- Installer Visual C++ Redistributable 2019
- Installer notepad++
- Installer Git
Étape 2 :
- Installer Mariadb
- Première image > Cocher enable acces from remote machine for ‘root’ user
- Deuxième image -> laisser les options de base
-
Cliquer sur suivant sans rien toucher
-
Installer mariadb
Étape 3 :
- Créer, dans le disque dur (exemple D:), un dossier « Fxserver » et « server »
- Télécharger le build Windows (2315 pour le tutoriel) puis dézipper le dans le dossier « FxServer/server »
- Faire clique droit dans le dossier « Fxserver/Server » et cliquer sur « Git bash here »
- Écrire « git clone https://github.com/citizenfx/cfx-server-data.git server-data» et appuyer sur entrer
- Dans le dossier FXServer/server-data crée un fichier « server.cfg » et coller l’exemple de cfg
ATTENTION
Si vous venez d’installer votre Windows Server pensez à cocher l’option « Extensions de nom de fichiers »
# 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
- Ce rendre sur le site https://keymaster.fivem.net/ et crée vous un compte
- Renseigner les informations « label » « l’adresse ip de votre vps/dedicated / votre provider
- Copier votre clef, puis ce rendre dans votre server.cfg et la renseigner à la ligne « sv_licenceKey »
Etape 4 :
Se rendre sur le github Es_extended -> Github_Esx
- Cliquer sur > https://github.com/ESX-Org/es_extended/blob/master/es_extended.sql
- Prendre l’ensemble du fichier SQL et démarrer HeidiSQL
- Une fois connecté sur votre base repérez le bouton « requête » et mettre le fichier SQL et appuyer sur F9 pour valider la requête
- Vérifiez que votre base es_extended est bien présente et bien peuplé
-
Une fois fait, rendez-vous dans votre dossier « resources » et refaite un git bash here
-
Dans votre bash faites ces commandes à la suite
-
git clone https://github.com/ESX-Org/es_extended [essential]/es_extended
-
git clone https://github.com/ESX-Org/esx_menu_default [esx]/[ui]/esx_menu_default
-
git clone https://github.com/ESX-Org/esx_menu_dialog [esx]/[ui]/esx_menu_dialog
-
git clone https://github.com/ESX-Org/esx_menu_list [esx]/[ui]/esx_menu_list
Etape 5 :
-
Installer le premier requirement mysql-async
-
Pour ce faire, rendez vous dans le dossier server-data puis « resources »
-
Une fois dedans faire un « git clone https://github.com/brouznouf/fivem-mysql-async mysql-async »
-
Installer le deuxième requirement async
-
Toujours dans le dossier [resources] : git clone https://github.com/ESX-Org/async
Etape 6 :
- Rendez-vous dans votre dossier « server-data » puis ouvrez votre server.cfg
# 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"
add_principal group.admin group.user
add_ace resource.es_extended command.add_principal allow
add_ace resource.es_extended command.remove_principal allow
set mysql_connection_string "mysql://username:[email protected]/database"
start mysql-async
start es_extended
start esx_menu_default
start esx_menu_list
start esx_menu_dialog
IMPORTANT !! :
- Remplacez sur votre ligne de connexion sql votre « username » de votre base de donnée, votre « password » associé et votre « adresse ip » (localhost ou 127.0.0.1 par défaut) du vps/dedier et le nom de la base « extended »
Exemple :
set mysql_connection_string "mysql://root:[email protected]/es_extended"
Etape 7 :
Supprimez ces 4 ressources de votre server.cfg car elles ne sont plus utiles
- fivem
- mapmanager
- basic-gamemode
- spawnmanager
Etape 8 :
Pour vous assurer que tout fonctionne bien :
- Presser les touches de votre clavier « Windows +R » et écrivez « cmd »
- Une fois dedans renseigner la ligne de commande suivante :
- cd /d D:\FXServer\server-data
Puis :
- D:\FXServer\server\FXServer.exe +exec server.cfg
- Quitter le serveur en pressant « CTRL + C » ou quitter avec la croix en haut à droite
Etape 9 :
- Débloquez les ports du firewall dans Windows Server
Rendez vous dans « parefeu Windows avec fonction avancées de sécurité »
- Maintenant crée une règle en TCP et UDP en suivant ces étapes :
Etape 10 :
Ouvrez votre server.cfg qui ce trouve dans server-data et modifier les lignes suivantes :
- sv_hostname « Le nom de votre serveur »
- onesync_enabled true « mettre false » à la place de true
Etape 11 :
Relancez le serveur à l’aide des commandes de l’étape 8
Bonus :
Voici un exemple de server.cfg dans l’ordre.
# 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 chat
ensure sessionmanager
ensure hardcap
ensure rconlog
ensure scoreboard
set mysql_connection_string "mysql://ton_username:[email protected]/es_extended"
start mysql-async
start es_extended
start esx_menu_default
start esx_menu_list
start esx_menu_dialog
# 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 "Le nom de votre serveur"
# 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
add_principal group.admin group.user
add_ace resource.es_extended command.add_ace allow
add_ace resource.es_extended command.add_principal allow
add_ace resource.es_extended command.remove_principal allow
# Hide player endpoints in external log output.
sv_endpointprivacy true
# enable OneSync with default configuration (required for server-side state awareness)
onesync_enabled false
# 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 votre_license