Tuto – Serveur Gmod dédié sous Linux (de A à Z +ULX +anti-crash)



Script Daniel Gibbs : https://linuxgsm.com/lgsm/gmodserver/

Config 1 FTP par user : http://www.tutoriels-video.fr/installation-dun-serveur-ftp-et-configuration-dun-nom-de-domaine-dn/
Tuto complet Workshop : https://www.terageek.org/tuto/configurer-le-workshop-de-son-serveur-garrys-mod-sous-linux-ou-windows/
Tuto activer la console : https://www.terageek.org/tuto/activation-de-la-console-dans-les-jeux-valve/
Télécharger ULX : http://ulyssesmod.net/downloads.php

Installer les paquets nécessaires

Ils peuvent varier, vous les trouverez ici : https://linuxgsm.com/lgsm/gmodserver/

Ajouter un utilisateur

adduser gmodserver

Choisissez un password, et faites entrée jusqu’à ce que ce soit crée

Se logger sur l’user :

su - gmodserver

Télécharger le script

wget https://linuxgsm.com/dl/linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh gmodserver

Lancer l’installation

./gmodserver install

Une fois terminé, tapez « y » si l’installation s’est bien passée, et « y » pour le GameServer Query qui vous permettra une bien meilleure détection de crash du serv.

Ensuite, choisissez un nom de serveur et un mot de passe RCON (vous pourrez les changer plus tard dans /serverfiles/garrysmod/cfg/gmod-server.cfg )

Démarrer/arrêter/redémarrer/checker mettre à jour le serveur

Commandes de base

./gmodserver start
./gmodserver stop
./gmodserver restart

Savoir informations utiles sur le serveur et la machine

./gmodserver details

Vérifier manuellement si le serv est en état de crash (on peut automatiser cette tâche toutes les X minutes, on verra ça par la suite)

./gmodserver monitor

Mettre à jour

./gmodserver update
./gmodserver update-restart

Configurer son serveur

nano gmodserver

(rappel, pour quitter « nano », ctrl + q, puis « y » pour confirmer les modifs ou « n » pour annuler » (ou « o » et « n » en français) puis « entrée ».

A l’intérieur, vous avez quelques variables intéressantes

emailnotification="on"

Qui vous permet de recevoir un mail en cas de crash du serveur. Et vous rajoutez votre adresse email. Vous pouvez ensuite faire

./gmodserver email-test

pour vérifier la réception du mail

workshopauth="xxxxxxxxx"
 workshopcollectionid="xxxxxxxxx"

Pour le workshop, voir tuto complet ici : https://www.terageek.org/tuto/configurer-le-workshop-de-son-serveur-garrys-mod-sous-linux-ou-windows/

La map par défaut

defaultmap="gm_construct"

Nombre de joueurs max

maxplayers="32"

Fix hunk pour rp_rockford_v1b et autres

Ajoutez à votre script, après les configurations :

commands="+r_hunkalloclightmaps 0 +tv_enable 0"

puis à la fin de parms= » », ajoutez :

${commands}

Config des ports

Si vous n’avez qu’un serveur, laissez par défaut.

Pour la config des ports, il y a le port principal, utilisé pour se connecter (« port »), le port « spectateur » (je sais même pas si c’est utilisé dans gmod) et le port « client » qui est indispensable.

Je vous recommande, si vous avez plusieurs serveurs, de procéder comme suit :

– port : de 27025 à 27049

– sourcetvport : de 27050 à 27074

– clientport : de 27000 à 27049

Ce qui en théorie vous permet de faire jusqu’à 24 serveurs sur la même machine…

Donc pour le premier serveur ça donne :

port="27025"
sourcetvport="27050"
clientport="27000"

L’IP, à renseigner uniquement si votre serveur a plusieurs cartes réseau

ip="0.0.0.0"

Utiliser la console

Pour voir ce qu’il se passe ou écrire des commandes, vous pouvez utiliser la console du serveur.

./gmodserver console

Vous confirmez l’avertissement qui vous dit « ne quittez pas avec ctrl + c sinon vous fermez le serveur ».

Et pour quitter proprement la console, il faut faire : ctrl +b, puis d ! (et non ctrl + b + d en même temps)

Consulter les logs

En cas de problème avec un plugin, kikoo qui fait crasher le serv, doute sur la config, vérification ou autre, c’est toujours bon de consulter les logs !

A la racine, vous avez un dossier « log » avec le log de la console, et le log du script.

Automatiser le serveur

On va chercher à : Mettre à jour et rebooter le serveur une fois par jour, et checker les crash toutes les 5 minutes (ne descendez pas en dessous de 3 ou vous risquez d’avoir des loops de check anticrash).

Deux manières : En root, ou avec l’user. Un seul serveur ou pas d’accès root : faites avec l’user. Plusieurs serveurs : faites en root.

Dans tous les cas, la commande pour accéder à l’automation :

crontab -e

Ensuite vous allez ajouter tout en bas :

En root :

0 5 * * *  su - gmodserver -c '/home/gmodserver/gmodserver update-restart' > /dev/null 2>&1

*/5 * * * *  su - gmodserver -c '/home/gmodserver/gmodserver monitor' > /dev/null 2>&1
 

En user :

0 5 * * * /home/gmodserver/gmodserver updaterestart > /dev/null 2>&1

*/5 * * * * /home/gmodserver/gmodserver monitor > /dev/null 2>&1

Dans les deux cas, si vous avez plusieurs serveurs, vous veillerez à ce que le dossier soit le bon !

Et voilà !

Si vous avez des questions, commentez !

 Bon game à tous !

Tuto complet Workshop : https://www.terageek.org/tuto/configurer-le-workshop-de-son-serveur-garrys-mod-sous-linux-ou-windows/

A venir : Encore plus de détails à l’écrit.

Commentaires

66 réponses à « Tuto – Serveur Gmod dédié sous Linux (de A à Z +ULX +anti-crash)

  1. […] Voir aussi : Créer un serveur Garry’s Mod dédié sous Linux  […]

  2. Avatar de Angefatal
    Angefatal

    Bonsoir,

    Moi j’ai un petit soucis , mon serveur n’est pas répertorier en Europe , je pense que mon hébergeur « Pulseheberg » a ces machine au USA donc steam les reconnais que au USA , ça me saoul un peut de relouer un autre Serveur mais auriez vous un site bon rapport qualité prix ou sont héberger les machine en France ou en Europe en tout cas?

    1. Avatar de UltimateByte

      T’es pas le seul à avoir ce problème. Etrangement, tous ceux qui l’ont sont chez Pulseheberg. Essaie dans ton fichier config : sv_region 3 pour europe. (c’est pas l’IP qui détermine où est détecté ton serveur mais cette config qui par défaut est à 255 pour « world »)
      CF : https://developer.valvesoftware.com/wiki/Sv_region

      1. Avatar de UltimateByte

        Apparemment c’est bien l’IP qui détermine la localisation du serveur, malgré le paramétrage de sv_region… La solution est donc de trouver le moyen d’avoir une IP Geolocalisée en France. Désolé pour toi ://

  3. Avatar de UltimateByte

    Salut, un indice : fichier config sv_location si je me trompe pas ^^

  4. Avatar de Angefatal
    Angefatal

    J’ai déjà changer en 3 Europe mais rien n’y fait.

    1. Avatar de UltimateByte

      Donc pour tenir informé, ce sont les serveurs de pulseheberg dont les ip sont mal détectées… Du moins elles ne sont pas détectées en france par les services de geolocalisation de gmod…

  5. Avatar de Quartz
    Quartz

    Salut, j’aimerais juste savoir ou telecharge la console au debut de ta video pck je block

  6. Avatar de Skolite
    Skolite

    bonjour,
    J’ai un petit problème avec mon serveur qui est le suivant: quand je me connecte à mon serveur, il télécharge la map puis me déconecte en disant que je n’est pas téléchargé la map :/

    Merci.

    1. Avatar de DrStrax
      DrStrax

      Si il te mette Missing Map « nom de la map » tu télécharge la map a part ;)

  7. Avatar de oligan21
    oligan21

    Bonjour j’ai fais un serveur gmod sur un vps mais j’arrive pas a le faire boot au demarrage du vps

    1. Avatar de UltimateByte

      crontab -e , puis la commande donnée par DanielGibbs, un « monitor » suffira, si le serv est down il se relancera ! (il faut avoir installé le gsquery pour une meilleure détection)

  8. Avatar de HydroDiX
    HydroDiX

    J’ia un probleme quand j’installe le 1 package donner il me met deux ERROR

    1. Avatar de UltimateByte

      Quel package et quels messages d’erreur ?
      nano /etc/apt/sources.list
      Vérifie que c’est en ordre dans tes sources de paquets déjà ;)

  9. Avatar de Alan700
    Alan700

    Bonjour a tous, j’ai un petit problème quand je vais dans la console j’ai un message d’erreur « Server restart in 10 seconds
    ./srcds linux: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory Add « -debug » to the ./srcds_run command line to generate a debug.log to help with solving this problem »
    Si quelqu’un c’est pourquoi sa fait sa merci de répondre.

    1. Avatar de UltimateByte

      :salut: , problème courant, le fix de Daniel Gibbs ne marche plus trop on dirait, faudra que je lui en parle.
      La commande : Tu te mets à la racine de ton serv et tu fais :
      cp steamcmd/linux32/libstdc++.so.6 serverfiles && steamcmd/linux32/libstdc++.so.6 serverfiles/bin

      Et tu restart ;)

      Tiens moi au jus.

      1. Avatar de Alan700
        Alan700

        J’ai un petit problème sa m’écrit « erreur de ségmentation ».

        1. Avatar de Alan700
          Alan700

          nn en faite c’est bon. :merci:

  10. Avatar de ChipusS
    ChipusS

    J’aimerais savoir comment changer de mods pour des deathrun, dark rp, minijeux, j’ai sue télécharge les fichier ( je suis sur linux kimsufi serveur pour la préparation ) j’aimerais savoir comment faire pour changé

  11. Avatar de Raoul Massardy-Vincent

    Bonjour/Bonsoir,

    Après avoir studieusement suivi votre vidéo, qui m’a beaucoup enrichie.. Je me pose encore quelques questions.
    J’ai pu prendre connaissance de mesnie.org et de ses différents serveurs à la suite de cette vidéo.
    Je souhaite savoir, sur quel type de machine hébergez-vous vos serveurs (Une ou plusieurs).
    De plus, dans le cas de l’utilisation d’une seule machine, quel quantité de ram faut-il allouer pour chaque serveur.. (Par exemple : Un serveur murder avec une dizaine de connectés et un serveur prophunt avec aussi une dizaine de connectés.)
    Merci d’avance !

    1. Avatar de UltimateByte

      Salut,
      Content d’avoir pu t’être utile !
      Tu trouveras des infos sur notre serveur ici : http://www.mesnie.org/news/migration-terminee-achevez-moi-please-le-debrieffing/

      Pour l’allocation de RAM : Où as-tu entendu parler de ça ? Un serveur Gmod prend la RAM dont il a besoin, à savoir 1,2Go en point environ pour un gros DarkRP, 350-500Mo pour un sandbox/murder, etc… Tu n’as rien à faire de plus et tu ne peux pas régler cette valeur dans tous les cas.

      Sachant qu’à moins d’avoir de très nombreux objets sur la map (build, darkrp), même un serveur pourri sera assez tranquille en termes de ressources, et ce même avec de nombreux joueurs. Dès lors que tu as disons 16Go de RAM, un Xeon et 100mbits/s tu peux faire déjà pas mal de serveurs sur la même machine. Regarde les IP de nos serveurs, tu verras qu’ils sont sur la même machine, et dis-toi qu’on arrive même pas à saturation des ressources. Avant de faire du DarkRP on se contentait d’un serveur assez basique chez Online.net et ça allait pas mal !

  12. Avatar de Raoul Massardy-Vincent

    Merci pour votre réponse très complète !
    Je vais consulter votre configuration.
    Bonne journée et encore merci..

  13. Avatar de sayvi
    sayvi

    bonjour j’ai un problem quand je boot sa me fait [ FAIL ] Starting gmod-server: Tmux not installed
    * Tmux is required to run this server.
    * Please see the the following link.
    * http://gameservermanagers.com/tmux

    1. Avatar de UltimateByte

      Salut,
      Tu n’as sûrement pas suivi la partie du tuto vers 1m40
      https://youtu.be/Zxy-pOZZk5c?t=96
      En somme : installe les bons paquets en fonction de ta distro, dont tmux.
      Bonne chance ;)

  14. Avatar de NRPC
    NRPC

    Salut !
    Déjà merci beaucoup pour ton tuto !
    J’ai un problème sur mon serveur. Je l’héberge sur un ordi sous linux, j’ai bien ouverts les ports de ma box, le serveur apparait en sandbox, mais quand j’essaie de me connecter j’ai un message d’erreur : « Connection failed after 4 retries » ! Peux-tu m’aider ?

    Merci d’avance, NRPC !

    1. Avatar de UltimateByte

      Hello !
      La console du serv a l’air de dire que tout est en ordre ?
      SI tu essaies de te connecter avec l’IP locale ça marche ?
      Tu as bien redirigé les ports correctement ?

      1. Avatar de NRPC
        NRPC

        Déjà, merci pour ta réponse.

        J’avais mal compris dans le tuto, j’ai modifiés les 3 ports comme dis dans le tuto, alors que c’est mon seul serveur. Mais j’ai bien ouvert les ports qui correspondait au ports remplacés dans la config. Est ce que c’est ca que tu entendait par redirigé ?
        Je vais essayer de me connecter avec l’IP locale.
        Et la console n’indique rien d’anormal.

        Merci d’avance !

        1. Avatar de UltimateByte

          Je t’en prie ! En fait « ouvrir un port » c’est valable quand tu as un pare-feu. Là c’est une redirection de port vers une IP locale. ;)

      2. Avatar de NRPC
        NRPC

        Donc j’arrive a me connecter avec l’adresse IP locale:port

      3. Avatar de NRPC
        NRPC

        Encore un autre probleme, je n’arrive pas a executer !menu. Pourtant je l’ai mis dans le bon repertoire…

        1. Avatar de UltimateByte

          Tu as mis ULX et ULIB dans le dossier addons, et redémarré le serv, et tu ne vois pas ULX ?
          D’ailleurs, tuto complet sur ULX si t’as la foi https://www.youtube.com/watch?v=GDvq40ChH_U

  15. Avatar de Mickael

    :salut: Quand je lance le serveur j’ai cette erreur dans la console: Auto detecting CPU
    Using default binary: ./srcds_linux
    Server will auto-restart if there is a crash.
    ./srcds_run : ligne 372 : 11603 Erreur de segmentation $HL_CMD
    Add « -debug » to the ./srcds_run command line to generate a debug.log to help with solving this problem

    1. Avatar de UltimateByte

      :hello:
      Le vrai support (en anglais) c’est ici : http://steamcommunity.com/groups/linuxgsm/discussions/0/
      Les segfaults peuvent avoir des dizaines de raisons, donc sans un ./gmodserver details j’ai aucune piste viable.

      1. Avatar de Mickael

        Je viens de le poster sur le groupe merci :)

        1. Avatar de UltimateByte

          Il y avait effectivement un bug dans LGSM, le fix des librairies glibc se faisait même quand il ne le fallait pas.
          Problème résolu avec Daniel (créateur et main dev d’LGSM). :)

  16. Avatar de skillz_tv

    :salut: je n’arrive pas à installer les CSS sur mon serveur du coup on passe à travers certain props comme des banc es-que tu peut m’apprendre a le faire :svp: ?

    1. Avatar de UltimateByte

      CF les commentaires Youtube :

      > Playteams Serveuril y a 2 mois
      Comment on peut ajouter les textures css ?
      >>UltimateByteil y a 2 mois
      En installant un serv CSS avec la même méthode que pour garry’s mod, dans un user dédié, et en modifiant le mount.cfg de ton gmod pour pointer vers ce CSS. ;)

  17. Avatar de Antoine Kem's

    Bonjour,
    Je ne sais pas si le support est toujours actif, mais on va essayer !
    Alors j’ai installé un serveur gmod en suivant votre tuto (d’ailleurs merci j’ai réussis à le faire très facilement), mais maintenant j’aurais besoins de vos lumières …
    Je voudrais installer un Loading Screen, mais je ne sais pas dans quel fichier il faut le mettre & quel commande .. J’ai tésté 2 – 3 trucs trouver sur le web mais rien ne marche ..
    Je vous remercie d’avance !
    Bonne journée.

    1. Avatar de UltimateByte

      Le support est toujours actif ;)
      Une fois que tu as ton site ou ta page fonctionnelle, il suffit de mettre l’url dans le fichier config de gmod. Typiquement: serverfiles/garrysmod/cfg/gmod-server.cfg, puis sv_loadingurl « http://ton-url.com/whatever », puis tu reboot le serv gmod. Done.

      1. Avatar de Antoine Kem's

        Re,
        Merci de ta réponse. Malheureusement ça ne marche pas .. Peux être une erreur de liens ? Mon liens est uranium-roleplay.fr//teeload/load.php?steamid=%s Il est donc dans un autre fichier peux etre que le loading screen voudrait qu’il soit directement accessible ? Je n’ai pas trop idée d’où peux venir le problème ..

        1. Avatar de UltimateByte

          Problème résolu selon feedback reçu sur TS. Apparemment Gmod ne prend pas en charge le https.

  18. Avatar de MarOwN

    Bonjour,
    Vous dites que chez pulseheberg le serveur est uniquement visible au USA mais je suis chez pulseheberg, et je n’ai aucun problème, mon serveur est visible partout ^^

    a+ en jeu !

    1. Avatar de UltimateByte

      Tant mieux si la base GeoIP a été mise à jour. Si seulement c’était le seul problème chez Pulseheberg… Bonne chance, moi j’y retourne pas ! CF: https://www.terageek.org/news/le-grand-demenagement-parcours-dun-romanichel/

  19. Avatar de alex_janoski
    alex_janoski

    Yo les gens j’ai un problème avec mon serveur …..
    Quand je mais dans la console (je suis sur putty) nano gmodserver et que je fait entrer dans la case ln n’y as rien d’écris quelqun peut m’aider svp ?!!!! :ouch2:

    1. Avatar de UltimateByte

      Step 3: Télécharger le script.
      Si le script n’existe pas, nano crée un fichier vide…

  20. Avatar de Florian_LC

    bonjour/bonsoir

    Apres avoir créé mon serveur sous VPS pulseherbeg , quand je souhaite restart mon serveur un message d’errer s’affiche : « [ERROR ] Stopping gmod-server: Graceful: sending « quit »: FAIL  »
    De plus mon serv n’apparaît pas dans les serveur Gmod alors qu’il est bien acctif car c’est dit dans  » ./gmodserver details  »

    Je vous remercie d’avance !
    bonne journée / soirée

    1. Avatar de UltimateByte

      1) Ne jamais utiliser PulseHeberg, pire hébergeur
      2) Commence par regarder l’output de ta console et essayer en mode debug.
      J’ai écrit ce guide, commence par là (en espérant que tu parles 2 mots d’anglais)
      https://github.com/GameServerManagers/LinuxGSM/wiki/Troubleshooting

  21. Avatar de wissyt
    wissyt

    Yo, problèmes.

    Segmentation fault (core dumped)
    Add « -debug » to the ./srcds_run command line to generate a debug.log to help with solving this problem
    mardi 24 octobre 2017, 21:55:16 (UTC+0200): Server restart in 10 seconds

  22. Avatar de TheeFoxy
    TheeFoxy

    bonjours,
    voila j’ai un petit problème quand je démare le serveur :/
    dans la console sa me mets sa

    gmodserver1@Skylyx:~$ ./gmodserver restart
    fetching command_restart.sh…OK
    [ FAIL ] Stopping gmod-server: Check IP: Multiple active network interfaces found.
    Information! Specify the IP you want to use within a LinuxGSM config file.
    location:

    Set ip= »0.0.0.0″ to one of the following:
    000.00.000.000 <———-IP DE LA MACHINE (donc normale
    000.00.0.0 <—————-IP EN PLUS
    https://gameservermanagers.com/network-interfaces
    [ OK ] Stopping gmod-server: Graceful: sending "quit": 2: OK
    [ OK ] Stopping gmod-server: LinuxGSM
    gmodserver1@Skylyx:~$

    comment es que je peux remedier a cela merci de ton aide :p

    J’espère avoir une reponse assez vite

      1. Avatar de TheeFoxy
        TheeFoxy

        je te remerci pour cette aide ;p jai réussi grasse a toi,
        mais j’encore un souci
        j’ai voulu intaller DARKRP donc je les mie dans le dossier (gamemods) es faire tout se qui avez a regle.
        mais le truck quand je veux lencer un
        ——————————
        ./gmodserver restart
        —————————–
        jai sa que se mets sur la console
        ——————————————–
        gmodserver1@Skylyx:~$ ./gmodserver restart
        [ FAIL ] Stopping gmod-server: Ownership issues found
        Information! The current user (gmodserver1) does not have ownership of the following files:
        User Group File
        root root /home/gmodserver1/serverfiles/garrysmod/gamemodes/darkrp
        root root /home/gmodserver1/serverfiles/garrysmod/gamemodes/darkrp/darkrp.txt
        root root /home/gmodserver1/serverfiles/garrysmod/gamemodes/darkrp/LICENSE.txt
        root root /home/gmodserver1/serverfiles/garrysmod/gamemodes/darkrp/README.md

        donc il parcours tout le dossier jusqua me mettre sa
        ——————————————-
        [ INFO ] Stopping gmod-server: [FR][NEW]Serveur en Dev Test is already stopped
        gmodserver1@Skylyx:~$
        ——————————————

        desoler de t’embeter, mais sa m’aiderait bcp
        merci encore

        1. Avatar de UltimateByte

          Le message est clair. Ces fichiers du user gmodserver1 n’ont pas à appartenir à root. C’est le moment d’utiliser la commande chown.
          https://terageek.org/tuto/les-serveurs-linux-serie-youtube

  23. Avatar de Koala
    Koala

    Bonjour,

    Moi quand j’ai installer mon serveur quand je vais dans le nano gmodserver le fichier n’est pas du tout pareil que le votre
    exemple :

    version= »180409″
    shortname= »gmod »
    gameservername= »gmodserver »
    rootdir= »$(dirname « $(readlink -f « ${BASH_SOURCE[0]} ») ») »
    selfname= »$(basename « $(readlink -f « ${BASH_SOURCE[0]} ») ») »
    servicename= »${selfname} »

    Il y a des trucs comme sa :/
    Comment y remédier ?

  24. Avatar de UltimateByte

    Hello,

    C’est parce que la méthode de config de LinuxGSM a changé. La doc est là : https://github.com/GameServerManagers/LinuxGSM/wiki/LinuxGSM-Config

  25. Avatar de toshiri
    toshiri

    Bonjour, j’ai un petit probleme :
    gmodserver@monvps:/home$ bash linuxgsm.sh gmodserver
    mkdir: cannot create directory ‘/home/lgsm’: Permission denied
    fetching serverlist.csv…FAIL

  26. Avatar de steam_user
    steam_user

    Salut salut
    j’ai un petit probleme, quand je veux aller mettre ma collection dans le worshop je fait la commande
    nano gmodserver
    mais a l’interieur du fichier pas de dossier workshop id :/
    cordialement

    1. Avatar de UltimateByte

      La config de LinuxGSM est désormais dans le dossier lgsm/config-lgsm/
      Ref: https://docs.linuxgsm.com/configuration/linuxgsm-config

  27. Avatar de zaroch
    zaroch

    Bonjour ! Petit soucis de mon côté lors de l’insallation : https://prnt.sc/nk8zin
    Si tu as la solution ce serait cool :D

    1. Avatar de UltimateByte

      Hello,

      Il te manque la dépendance « jq » à installer… Quel est le souci ?

Laisser un commentaire