Aller au contenu
Soldat Ryan

Monter et configurer un serveur Post Scriptum sous Linux

Messages recommandés

Monter et configurer un serveur Post Scriptum sous Linux

Système requis pour heberger un serveur Post Scriptum

  • CPU: i7 7700k / i7 8700k / i7 6700k OC 4.5 or 4.4
  • Memoire : 32GB Ram / 3200Mhz
  • Espace Disque : 20GB
  • OS (Serveur): Windows Server / Linux
  • Accès Root / Accès distance

Notez que la configuration d'un serveur Post Scriptum est valide aussi bien pour Windows que pour Linux, seule l'installation de steamcmd et le lancement du serveur diffèrent (emploi d'un fichier .bat - que vous trouverez dans la page officielle - au lieu d'un .sh)

- Vous connaissez les bases de l'administration d'un serveur dédié, savoir s'y connecter à l'aide de Putty, etc ...

- Ce tuto a été testé le 04/09/2018 sur une Débian9 et Ubuntu 18.4 et il est fonctionnelle.

Tutoriel :

Ce tuto est librement inspiré par la page officielle

Installation de Steam :

Pour monter un serveur Post Scriptum, il faut dans un premier temps installer SteamCMD

Il convient pour les OS 64bits d'installer les dépendances requises pour SteamCMD.
sous "ROOT" faites un :

aptitude install lib32gcc1

(Si vous avez l'habitude de travaillez avec apt-get, tapez "apt-get" au lieu de "aptitude")

Pour installer steam on utilise "user" à partir de son répertoire "home/user/". On ne travaille surtout pas sous "ROOT".

On installe Steam.
On crée le repertoire "steamcmd" pour y installer steam et on lance le programme steamcmd :

mkdir steamcmd
cd steamcmd
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
./steamcmd.sh

Ensuite on charge les fichiers serveurs depuis steam, pour cela on utilise le compte "anonymous".
Vous pouvez installer le serveur dans le repertoire "steam" mais on prend le parti d’installer les fichiers du serveur sur le repertoire /home/user/serveur/ps_serveur

login anonymous
force_install_dir /home/user/serveur/ps_serveur
app_update 746200 validate
quit

Voilà les fichiers sont chargés.
Il ne reste plus qu'à configurer votre serveur.
Notez que comme PS est à la base un mod de Squad sa configuration est quasiment similaire.

Configuration de votre serveur PS :

Les fichiers de configuration se trouvent dans /home/user/serveur/ps_serveur/PostScriptum/ServerConfig/ et sont les suivants :

Admins.cfg
Bans.cfg
License.cfg
MapRotation.cfg
Rcon.cfg
RemoteAdminListHosts.cfg
RemoteBanListHosts.cfg
Server.cfg
ServerMessages.cfg

Admins.cfg vous permet de définir les administrateurs et les modérateurs du serveur, ceux qui pourront mettre fin à la partie, kicker les trolls....
Vous pouvez créer des groupes avec différents paramètres

Group=SuperAdmin:changemap,cheat,private,balance,chat,kick,ban,config,cameraman,debug,pause
Group=Admin:changemap,balance,chat,kick,ban,cameraman,pause
Group=Moderateur:changemap,chat,kick,ban

Admin=XXXXXXXXXXXXX:SuperAdmin //joueur 1
Admin=XXXXXXXXXXXXX:SuperAdmin //joueur 2
Admin=XXXXXXXXXXXXX:Admin      //joueur 3
Admin=XXXXXXXXXXXXX:Admin      //joueur 4
Admin=XXXXXXXXXXXXX:Moderateur //joueur 5
Admin=XXXXXXXXXXXXX:Moderateur //joueur 6

xxxxxxxxxxxxxxx = SteamID du joueur

Voir le paragraphe "Les niveaux d'accès" plus bas pour les détails.

Bans.cfg est le fichier sur lequel figure les bans et tempban de vos trolls

XXXXXXXXXXXXXXXX:0 //Ban Permanent
XXXXXXXXXXXXXXXX:1454455855 //team kill

xxxxxxxxxxxxxxx = SteamID du joueur
:0 = Sans limite de temps
:1454455855 = Temps (en sec) restant

MapRotation.cfg est le fichier dans lequel est configurée la rotation.
Vous pouvez le modifier manuellement.

Heelsum Single 01
Driel Single 01
Oosterbeek Single 01
Driel Single 02
Heelsum Single 02
Driel Single 03
Oosterbeek Single 02
Driel Single 06
Heelsum Single 03
Driel Single 07
Oosterbeek Single 03
Driel Double 01
Heelsum Single 06
Oosterbeek Single 06
Heelsum Single 07
Oosterbeek Single 07
Heelsum Single 08
Oosterbeek Double 01
Heelsum Double 01
Oosterbeek Double 02
Heelsum Double 02

Il ne s'agit pas du fichier par défaut.
Il s'agit d'une source du discord officiel.
A vous de le modifier selon vos gouts. Vous trouverez toutes les options de chaque map sur notre galerie dédié à Post Scriptum.

Pour faire un serveur d'entrainement il faut juste modifier votre MapRotation.cfg comme ceci :

Arnhem Range

Modificatif suite implantation du mode Armored (08/03/2019) :

Avec le mode Armored apparait le vote des maps.
Si vous voulez laisser les joueurs choisir la map sur laquelle ils peuvent évoluer il faut modifier le server.cfg en ajoutant la commande :

MapVoting=True

Dans ce cas il faut créer un fichier MapVoting.cfg, en plus du fichier MapRotation.cfg dans lequel sera aussi indiqué les map Armored ou "classique".

MapVoting.cfg pour le mod AAS/Offensive :

Arnhem_AAS=Arnhem_AAS_01,Arnhem_AAS_02,Arnhem_AAS_03
Driel_AAS=Driel_AAS_01,Driel_AAS_02,Driel_AAS_03,Driel_AAS_04,Driel_AAS_05
Heelsum_AAS=Heelsum_AAS_01,Heelsum_AAS_02
Doorwerth_AAS = Doorwerth_AAS_01,Doorwerth_AAS_02,Doorwerth_AAS_03,Doorwerth_AAS_04,Doorwerth_AAS_05
Oosterbeek_AAS=Johanna_Hoeve_AAS_01,Johanna_Hoeve_AAS_02,Johanna_Hoeve_AAS_03,Johanna_Hoeve_AAS_04,Johanna_Hoeve_AAS_05,Johanna_Hoeve_AAS_06
Veghel_AAS = Veghel_AAS_01,Veghel_AAS_02,Veghel_AAS_03,Veghel_AAS_04,Veghel_AAS_05,Veghel_AAS_06,Veghel_AAS_07,Veghel_AAS_08,Veghel_AAS_09,Veghel_AAS_10
Velmolen_AAS = Wolfheze_AAS_01,Wolfheze_AAS_02,Wolfheze_AAS_03,Wolfheze_AAS_04,Wolfheze_AAS_05,Wolfheze_AAS_06,Wolfheze_AAS_07,Wolfheze_AAS_08,Wolfheze_AAS_09

Arnhem_Offensive=Arnhem_Offensive_Single_01,Arnhem_Offensive_Single_02
Driel_Offensive=Driel_Offensive_Single_01,Driel_Offensive_Single_02,Driel_Offensive_Single_03,Driel_Offensive_Single_04,Driel_Offensive_Single_05,Driel_Offensive_Single_06,Driel_Offensive_Single_07,Driel_Offensive_Single_08,Driel_Offensive_Single_09,Driel_Offensive_Single_10,Driel_Offensive_Double_01,Driel_Offensive_Double_02
Heelsum_Offensive=Heelsum_Offensive_Single_01,Heelsum_Offensive_Single_02,Heelsum_Offensive_Single_03,Heelsum_Offensive_Single_04,Heelsum_Offensive_Single_05,Heelsum_Offensive_Single_06,Heelsum_Offensive_Single_07,Heelsum_Offensive_Single_08,Heelsum_Offensive_Single_09,Heelsum_Offensive_Single_10,Heelsum_Offensive_Double_01,Heelsum_Offensive_Double_02
Doorwerth_Offensive=Doorwerth_Offensive_Single_01,Doorwerth_Offensive_Single_02,Doorwerth_Offensive_Single_03,Doorwerth_Offensive_Single_04,Doorwerth_Offensive_Single_05,Doorwerth_Offensive_Single_06,Doorwerth_Offensive_Single_07,Doorwerth_Offensive_Single_08,Doorwerth_Offensive_Single_09,Doorwerth_Offensive_Single_10,Doorwerth_Offensive_Double_01
Oosterbeek_Offensive=Johanna_Hoeve_Offensive_Single_01,Johanna_Hoeve_Offensive_Single_02,Johanna_Hoeve_Offensive_Single_03,Johanna_Hoeve_Offensive_Single_04,Johanna_Hoeve_Offensive_Single_05,Johanna_Hoeve_Offensive_Single_06,Johanna_Hoeve_Offensive_Single_07,Johanna_Hoeve_Offensive_Single_08,Johanna_Hoeve_Offensive_Single_09,Johanna_Hoeve_Offensive_Single_10,Johanna_Hoeve_Offensive_Double_01,Johanna_Hoeve_Offensive_Double_02
Veghel_Offensive=Veghel_Offensive_Single_01,Veghel_Offensive_Single_02,Veghel_Offensive_Single_03,Veghel_Offensive_Single_04
Velmolen_Offensive=Wolfheze_Offensive_Single_01,Wolfheze_Offensive_Single_02,Wolfheze_Offensive_Single_03,Wolfheze_Offensive_Single_04

MapVoting.cfg pour le mod Armored :

Veghel_Armoured = Veghel_Armored_01
Driel_Armoured=Driel_Armored_01
Heelsum_Armoured=Heelsum_Armored_01
Doorwerth_Armoured = Doorwerth_Armored_01

ATTENTION : A l'heure actuelle, le mod AAS/Offensive et le mod Armored ne peuvent pas co-éxister sur le même serveur.

Le mod Armored est limité à 64 slots par serveur alors que le mod AAS/Offensive peut monter à 80 slots.

Fin de modif (08/03/2019)

Rcon.cfg permet de configurer un mot de passe Rcon pour l'utilisation d'outil à distance.
Vous y configurez l'IP, le port Rcon, le mot de passe Rcon, le nombre maximum de connexion et la limite de temps avant de déconnecter une session inactive.
Pensez à ouvrir le port TCP correspondant.

RemoteAdminListHosts.cfg et RemoteBanListHosts.cfg ces deux fichiers s'utilisent uniquement si vous avez plusieurs serveurs. Ils doivent contenir pour le premier l'URL d'un fichier unique répertoriant tous les admins/modo et le second l'URL du fichier où doivent se trouver vos bans.

http://mysite.com/banlists/ban-list.cfg

Server.cfg est le fichier principal de votre serveur. On y configure le nom du serveur, le nombre de slots ...

ServerName="[FR-NGBC]NotGoodButCrazy Server|www.notgoodbutcrazy.eu"
MaxPlayers=80
NumReservedSlots=4
IsLANMatch=false
ShouldAdvertise=true
NumPlayersDiffForTeamChanges=3
AllowTeamChanges=true
PreventTeamChangeIfUnbalanced=true
EnforceTeamBalance=true
RejoinSquadDelayAfterKick=300
RecordDemos=false
ServerMessageInterval=300
// Forced on for Licensed servers (Only OWI staff & qa are admins)
AllowCommunityAdminAccess=false
// Forced on for Licensed servers (Only OWI devs)
AllowDevProfiling=false

Il est explicite pas besoin de détailler. :old:

Si vous voulez mettre un mot de passe permanent sur votre serveur vous pouvez ajouter cette ligne dans votre server.cfg

ServerPassword=test

La commande admin disponible plus bas sert uniquement pour verrouiller votre serveur lorsque vous êtes en jeu.

ServerMessages.cfg est le fichier dans lequel vous configurez les messages qui défileront sur votre serveur.

1 ligne par message, la fréquence de diffusion est définie dans le server.cfg (ServerMessageInterval)

Bienvenue sur le serveur des [NGBC]
C'est un serveur Français mais tout le monde d'où qu'il vienne est le bienvenue
Les 2 règles principales : Respect et se faire plaisir
Suivez nous sur notre site www.notgoodbutcrazy.eu

Votre ligne de commande

Comme les choses sont bien faites sur PS, les fichiers serveurs Linux contiennent déjà un fichier de lancement.

home/user/serveurs/ps_serveur/PostScriptumServer.sh

Assurez vous qu'il soit exécutable et lancez le fichier .sh en y ajoutant les ports nécessaire et les options de log :

./PostScriptumServer.sh Port=10027 QueryPort=10037 -fullcrashdump -log

Pour reboot/stop/start le serveur il convient d'utiliser la commande dans un screen ou un script mais ça je vous laisse gérer.

Configuration des ports

Assurez vous d'ouvrir les ports nécessaires.

UDP: 10027
UDP: 10037

Si vous voulez changer les ports par défaut (notamment pour ouvrir plusieurs serveurs sur la même machine) vous devez modifier votre ligne de commande avec les arguments correspondants :

Port=10047 QueryPort=10067

Nota : Pensez à changer le Port RCON en créant un second serveur. Il ne doit pas être identique à votre 1er serveur sinon vous aurez une erreur de segmentation.

Administration du Serveur :

Les niveaux d'accès

Voici ce qui peut être autorisé ou non aux admin/modo (Admin.cfg )

changemap Peut changer la map
canseeadminchat Peut voir ce que le chat des admins
Balance Ce groupe peut changer de team, sans se soucié de l'équilibre
Pause Commande de match
cheat Accès à certaines commandes de cheat
Private Peut définir un mot de passe pour fermer le serveur
Chat Accès admin chat
Kick Accès Commande Kick
Ban Accès Commande Ban
Config Peut agir sur la configuration du serveur
immunity Ne peut pas être kické ou Banni
manageserver Administre le serveur / Peut le couper
cameraman Mod spectateur (voir les commandes en fin de tuto)
featuretest Commands being tested
forceteamchange Force le changement de team
reserve Accès au slot réservé
demos Autorisé à filmer (actuellement cassé)
debug Commande debug
teamchange Peut changer d'équipe sans pénalité

-  Pour accéder à la console la touche est le ²

Admin Command Access Description
AdminKick kick AdminKick "<NameOrSteamId>" <KickReason> (Éjecte un joueur du serveur)
AdminKickById kick AdminKickById <PlayerId> <KickReason> (Ejecte un joueur via son ID)
AdminBan ban AdminBan "<NameOrSteamId>" "<BanLength>" <BanReason> (Bans un joueur pour un certain temps.  0 = Perm, 1d = 1 jour, 1M = 1 Mois, etc)
AdminBanById ban AdminBanById <PlayerId> "<BanLength>" <BanReason> ( Bans un joueur via son ID pour un certain temps . 0 = Perm, 1d = 1 Day, 1M = 1 Month, etc)
AdminBroadcast chat AdminBroadcast <Message> (Envoie un message à tous les joueurs sur le serveur)
ChatToAdmin chat ChatToAdmin <Message> (Envoie un message à tous les admins sur le serveur)
AdminRestartMatch pause AdminRestartMatch (Redémarre la partie)
AdminEndMatch pause AdminEndMatch (Met fin à la partie)
AdminPauseMatch pause AdminPauseMatch (Met le serveur en pause)
AdminUnpauseMatch pause AdminUnpauseMatch (Met fin à la pause du serveur)
AdminKillServer manageserver AdminKillServer <Force 0/1> (Coupe le serveur)
AdminChangeMap changemap AdminChangeMap <MapName> (Change la carte)
AdminSetNextMap changemap AdminSetNextMap <MapName> (Paramètre la prochaine map)
AdminSetMaxNumPlayers config AdminSetMaxNumPlayers <NumPlayers> (Limite le nombre maximum de joueur)
AdminSetNumReservedSlots config AdminSetNumReservedSlots <NumReserved> (Règle le nombre de slots réservés)
AdminSetServerPassword private AdminSetServerPassword <Password> (Règle le mot de passe du serveur ou utiliser "" pour l'enlever)
AdminSlomo cheat AdminSlomo <TimeDilation> (Augmente ou réduit la vitesse du temps sur le serveur 0.1 = 10% de la vitesse normale, 2.0 multiplie par 2 la vitesse normale)
AdminStats debug AdminStats (Affiche les stats du serveur : FPS ...)
AdminForceTeamChangeById forceteamchange AdminForceTeamChangeById (Changes a player with a certain id's team)
AdminForceTeamChange forceteamchange AdminForceTeamChange (Changes a player's team)
AdminAlwaysValidPlacement cheat AdminAlwaysValidPlacement <alwaysValid> (Sets the server to ignore placement rules for deployables)
AdminDisableVehicleClaiming cheat AdminDisableVehicleClaiming
AdminAllKitsAvailable cheat AdminAllKitsAvailable <Valid> (Sets the server to ignore kit restrictions)
AdminNetTestStart debug AdminNetTestStart (Starts the network test and prints it to the clients logs)
AdminNetTestStop debug AdminNetTestStop (Stops the network test)
AdminDemoPlay demos AdminDemoPlay <FileName> (Plays back the demo recording, must have file from server)
AdminDemoRec demos AdminDemoRec <FileName> (Records gameplay, you must run this first)
AdminDemoStop demos AdminDemoStop (Stops recording and saves the demo to disk)
AdminProfileServer debug AdminProfileServer <SecondsToProfileFor> <bUseRaw> (Starts profiling on the server for a fixed length of time, after which the profiling data is saved to disk.)
TraceViewToggle FeatureTest TraceViewToggle (Runs a trace from center of screen out to any objects and displays information about that object)

Les Commandes publiques 

Command Description
ListPlayers ListPlayers (List player ids with associated player name and SteamId)
ListCommands ListCommands (Prints out the information for all commands in the game.)
ShowCommandInfo ShowCommandInfo (Print out the details of a particular command)
ShowNextMap ShowNextMap (Ask the server what the next map is)
GiveUp GiveUp (Die and give up being wounded)
Respawn Respawn (Causes the player to commit suicide)
ChangeTeams ChangeTeams (Change teams to the other side)
ChangeTeamsWithId ChangeTeamsWithId <NewTeam> (Change teams to the specified team number, zero changes to the other side)
CreateSquad CreateSquad <Name> (Request the creation of a squad, specifying the name)
JoinSquadWithName JoinSquadWithName <Name> (Join a squad on our team with the following name)
JoinSquadWithId JoinSquadWithId <Id> (Join a squad on our team with the following id)
LeaveSquad LeaveSquad (Leave the squad we are currently in)
CreateRallyPoint CreateRallyPoint (Drop a rally point for squad members to spawn from)
ApproveVehicleClaim ApproveVehicleClaim (As a squad leader, tries to approve a vehicle clain made by a squad member attempting to enter a vehicle)
Chat Chat "<Message>" <ChatType=All|Team|Squad> (Broadcast chat message)
ChatToAll ChatToAll <Msg> (Chat to everyone)
ChatToTeam ChatToTeam <Msg> (Chat only to same team)
ChatToSquad ChatToSquad <Msg> (Chat only to same squad)
DisableHudWidgets DisableHudWidgets (Removes all widgets on the HUD)
DisableUI DisableUI (Removes the UI components from the screen)
Stat FPS Stat FPS (Draw frame rate on screen)
Stat Unit Stat Unit (Draws game, draw, and gpu times on screen)
HighResShot HighResShot <Resolution/Multiplier> (take a screen shot, e.g., "HighResShot 3840x2160" or "HighResShot 4")
r.SetRes r.SetRes <Resolution> (change screen resolution, "r.setres 1920x1080f")
Disconnect Disconnect (Disconnects from server)
Reconnect Reconnect (Reconnects to previous server)

Les Commandes de la Camera admin

Command Description
Shift + P Turn on/off
w,a,s,d Move
Shift Move quicker
Space Go Up
C Go Down
0 Info Display
1 Speed
2 Zoom
3 Blur
6,7,8,9 Spectator Tools


Voilà, à vos PC et Bon jeu.

Les commentaires à propos de ce tutoriel sont à faire sur CE SUJET


Voir la totalité de tutoriel

Partager ce message


Lien à poster
Partager sur d’autres sites

@Soldat Ryan : Tuto très bien réalisé !!

Hier soir j'ai fini d'installer les fichiers serveur PS sur mon petit débian9 "fait maison"
Je finirais ce soir de configurer le serveur PS avec une seule map en rotation pour faire un petit test "NGBC_serveur_test"

pour le fun :)

Pour info , je garderais ce poste sur Debian9, on se sait jamais, pour faire d'autres tests , ça peut toujours servir

Question :
quelle est la différence entre ces 2 fichiers ?

"wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz"

et 

"wget http://media.steampowered.com/client/steamcmd_linux.tar.gz"

2 sources différentes , mais même fichier d'install , c'est cela ?

ah oui , une autre question : le pw du serveur PS, tu le mets où ?

 

Modifié par 4t4chris

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 12 minutes, 4t4chris a dit :

Question :
quelle est la différence entre ces 2 fichiers ?

"wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz"

et 

"wget http://media.steampowered.com/client/steamcmd_linux.tar.gz"

2 sources différentes , mais même fichier d'install , c'est cela ?

Ha oui, j'avais pas fait attention.
Le "steampowered" et le "akamaihd" délivre bien le même fichier.
La différence vient des pages du wiki Steam. Par exemple, sur la page FR de SteamCDM tu as le lien "akamaihd" mais sur la page NL tu as le "steampowered".
Dans l'absolu cela ne change donc rien.

:wink:

il y a 12 minutes, 4t4chris a dit :

Pour info , je garderais ce poste sur Debian9, on se sait jamais, pour faire d'autres tests , ça peut toujours servir

:good:

il y a 12 minutes, 4t4chris a dit :

Tuto très bien réalisé !!

Merci. :wub:

Partager ce message


Lien à poster
Partager sur d’autres sites

@Soldat Ryan

où met on le pw du serveur PS ??

-----------

(maj)

excuses je viens de trouver , c'est pas dans les fichiers de config, c'est une commande admin.

SORRY

 

Modifié par 4t4chris

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 5 minutes, 4t4chris a dit :

où met on le pw du serveur PS ??

Tu peux le mettre aussi dans le fichier server.cfg :

ServerPassword=test

- c'est plus pratique si tu veux garder ton serveur fermé en permanence, car il le restera si le serveur doit reboot.
La commande Admin faut être en jeu pour l'activer.

Je l'ajoute au tuto.

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

Vous pouvez poster maintenant et vous enregistrer après. Si vous avez un compte, connectez-vous maintenant pour poster avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...

Information importante

En utilisant notre site vous acceptez nos Conditions d’utilisation.