Serveur dédié

From PZwiki
< Dedicated serverDedicated server/fr
PZwiki:Language policy Langue:

English • français • 日本語 • русский • 中文(简体)


Top category tree Navigation:

CommunityMultiplayerServeur dédié

Hosting a Project Zomboid dedicated server can be done in Windows or Linux.

Télécharger les fichiers pour le serveur

Avec Steam

  1. Naviguez dans votre bibliothèque Steam et recherchez les outils.
  2. Localisez 'Project Zomboid Dedicated Server' et téléchargez/installez-le.

Note : Ne pas lancer le serveur via Steam. Si vous le faites accidentellement, vérifiez l'intégrité des fichiers.

Avec SteamCMD

SteamCMD est la version en ligne de commande de Steam. Le wiki des développeurs de Valve contient instructions sur la façon de télécharger et de configurer SteamCMD.

Windows

Une fois que vous avez téléchargé et extrait SteamCMD dans le dossier de votre choix, lancez-le en exécutant steamcmd . exe depuis une ligne de commande.

Vous pouvez maintenant configurer le répertoire d'installation où seront stockés les fichiers du serveur dédié.

Ce qui suit est un exemple de congifuration de dossier de téléchargement dans son propre dossier séparer sur le disque C:. Vous pouvez choisir l'emplacement que vous voulez pour stocker les fichiers du serveur.

force_install_dir C:\PZServer

Pour les utilisateurs de Linux, le serveur s'installer sous /home/<MYOURUSERNAME>/.steam/steam/steamapps/common/Project Zomboid Dedicated Server/ sauf indication contraire.

Une fois le répertoire d'installation configuré selon vos préférences, connectez-vous anonymement sur Steam:

login anonymous

Ensuite, téléchargez les fichiers pour serveur Project Zomboid:

app_update 380870 validate

Quand vous voyez le message "Success! App '380870' fully installed", fermez SteamCMD:

quit

Linux

Pour Debian et Ubuntu, installez d'abord steamcmd.

Beaucoup de commandes demandent les droits root. Si vous êtes connecté en tant qu'utilisateur régulier, vous aurez besoin d'ajouter en préfixe la commande sudo.

Par exemple:

# Cette commande exige le niveau root
dpkg --add-architecture i386

# Vous aurez donc besoin d'écrire:
sudo dpkg --add-architecture i386
dpkg --add-architecture i386
apt-get update
apt-get install steamcmd

Ne lancez pas le serveur en tant que root. Ajoutez un utilisateur tel que pzuser.

adduser pzuser

Nous installerons le serveur Project Zomboid sous /opt/pzserver

mkdir /opt/pzserver
chown pzuser:pzuser /opt/pzserver

Connectez vous en tant que pzuser

su - pzuser

Créez le fichier de configuration /home/pzuser/update_zomboid.txt qui gèrera steamcmd

cat >$HOME/update_zomboid.txt <<'EOL'
// update_zomboid.txt
//
@ShutdownOnFailedCommand 1 //Mis à zéro si plusieurs serveurs sont mis à jours en même temps
@NoPromptForPassword 1
force_install_dir /opt/pzserver/
//Pour les serveurs qui n'ont pas besoin d'authentification
login anonymous 
app_update 380870 validate
quit
EOL

Maintenant installez le serveur Project Zomboid. Vous utiliserez la même commande chaque fois que vous voudrez mettre à jour votre serveur vers la version la plus récente.

steamcmd +runscript $HOME/update_zomboid.txt


Transfert des ports

Les serveurs dédiés Project Zomboid nécessitent les ports ouverts suivants pour se connecter avec succès aux clients :

8766 UDP
16261 UDP

Ports supplémentaires pour les serveurs non-Steam

En plus des ports requis mentionnés ci-dessus, des ports TCP devront être ouverts pour chaque emplacement de joueur sur le serveur. Par exemple, si l'on souhaite un serveur avec 10 slots, il sera nécessaire d'ouvrir les ports suivants :

8766 UDP
16261 UDP
16262 - 16272 TCP

Remarque : il est possible que ces ports supplémentaires ne soient plus nécessaires à partir de la version 41.65 du jeu.

Démarrer le serveur

Windows

Allez dans le dossier de téléchargement que vous avez spécifié (C:\pzserver si vous avez suivi les étapes ci-dessus) et localisez les trois fichiers batch StartServer.

Le répertoire de téléchargement par défaut si vous avez utilisé Steam pour installer le serveur est C:\Program Files (x86)\Steam\steamapps\common\Project Zomboid Dedicated Server.


StartServer32 démarre le serveur dédié 32-bits compatible avec Steam.
StartServer64 démarre le serveur dédié 64-bits compatible avec Steam.
StartServer64_nosteam démarre le serveur dédié 64-bits non-compatible avec Steam.

Exécutez le fichier batch qui correspond à votre système d'exploitation. Dans la plupart des cas, il s'agit d'un système 64 bits, sauf si vous utilisez intentionnellement un système 32 bits ou une version autre que Steam.

Note importante : Par défaut, le fichier batch StartServer64 spécifie 16 Go de mémoire de démarrage pour le serveur. Vous devez modifier le fichier StartServer64 et changer les fichiers -Xms et -Xmx pour les valeurs que vous voulez utiliser pour la mémoire du serveur, ou le serveur ne démarrera pas avec des erreurs de mémoire.

Un exemple avec 6GB utilisés pour la quantité de mémoire (notez les valeurs -Xms et -Xmx) :

".\jre64\bin\java.exe" -Djava.awt.headless=true -Dzomboid.steam=1 -Dzomboid.znetlog=1 -XX:+UseZGC -XX:-CreateCoredumpOnCrash -XX:-OmitStackTraceInFastThrow -Xms6g -Xmx6g -Djava.library.path=natives/;natives/win64/;. -cp %PZ_CLASSPATH% zombie.network.GameServer -statistic 0

Pour référence, ceci est équivalent à l'option "Mémoire du serveur" lorsque vous utilisez "Hôte" dans le menu principal pour héberger un serveur multijoueur local.

Le lancement d'un serveur ouvre une fenêtre de console de commande qui commence à exécuter le serveur sur votre machine. Lors de la première exécution, il vous demandera de définir un mot de passe pour le compte administrateur qu'il créera. Une fois que le serveur a fini de se configurer avec les paramètres de jeu par défaut, un message s'affiche indiquant le succès ou l'échec.


Un message indiquant que le serveur a démarré avec succès.

Linux

Allez dans votre dossier d'installation (default: /home/YOURUSERNAME/.steam/steam/steamapps/common/Project Zomboid Dedicated Server) et lancez le fichier start-server.sh. L'exemple suivant utilise le dossier par défaut :

cd ~/.steam/steam/steamapps/common/Project\ Zomboid\ Dedicated\ Server\/

Ensuite lancez start-server.sh

bash start-server.sh

Cependant, si vous avez suivi les instructions dans le paragraphe install Project Zomboid Server via steamcmd in Linux, vous aurez juste besoin d'exécuter la commande suivante:

/opt/pzserver/start-server.sh

En option, vous pouvez changer le nom du serveur, ce qui changera le fichier .ini utilisé et créera un nouveau dossier de sauvegarde sous ce nouveau nom de serveur :

bash start-server.sh -servername SERVERNAME
Mp lin terminal.png

Le lancement d'un serveur ouvre une fenêtre de console de commande qui commence à exécuter le serveur sur votre machine. Lors de la première exécution, le serveur vous demandera de définir un mot de passe pour le compte administrateur qu'il créera. Une fois que le serveur a fini de se configurer avec les paramètres de jeu par défaut, un message s'affiche indiquant le succès ou l'échec.

Un message indiquant que le serveur a démarré avec succès.

System.d

Une meilleure option est de configurer le serveur pour qu'il fonctionne sous system.d.

Avant de faire ceci:

  • démarrer manuellement le serveur (comme décrit ci-dessus) au moins une fois, car la première fois, il vous est demandé d'entrer un mot de passe administrateur.
  • assurez-vous que vous n'êtes plus connecté en tant que pzuser (tapez exit si vous l'êtes) - les commandes system.d doivent être exécutées en tant que root.

Tout d'abord, configurez l'unité system.d

cat >/usr/lib/systemd/system/zomboid.service <<'EOL'
[Unit]
Description=Project Zomboid Server
After=network.target

[Service]
PrivateTmp=true
Type=simple
User=pzuser
WorkingDirectory=/opt/pzserver/
ExecStart=/opt/pzserver/start-server.sh

[Install]
WantedBy=multi-user.target
EOL

Une fois que vous avez fait cela, vous avez les commandes suivantes disponibles :

# Démarre un serveur
systemctl start zomboid.service

# Stoppe un serveur
systemctl stop zomboid.service

# Redémarre un serveur
systemctl restart zomboid.service

# Vérifie l'état du serveur (ctrl-c pour quitter)
systemctl status zomboid.service

Les logs sont maintenant gérés par journalctl. Pour accéder aux logs du serveur, exécutez la commande suivante :

journalctl -u zomboid.service -f

Se connecter au serveur

Le panneau d'ajout de serveur.
  1. Lancer Project Zomboid
  2. Cliquer sur l'option de menu Joindre une partie
  3. Cliquer sur l'onglet Favoris
  4. Ajouter votre adresse publique IPV4
  5. Entrez le port (défaut: 16261)
  6. Rentrez vos informations de compte (ce que vous souhaitez)
  7. Cliquez sur Sauvegarder, sélectionnez le serveur, et joignez-le


Remarque I: l'hébergement d'un serveur dédié non-Steam nécessite que les joueurs se connectent via la version non-Steam du client de jeu. Pour les propriétaires de jeux Steam, ceci peut être réalisé en ajoutant '-nosteam' aux options de lancement de Project Zomboid dans le menu des propriétés.

Note II : Si vous hébergez un serveur pour des clients LAN ou VPN, l'adresse IPv4 locale ou l'adresse définie VPN doit être utilisée.

Remarque III : à partir de la version 41.65 du jeu, les joueurs qui hébergent et jouent sur la même machine peuvent uniquement utiliser l'adresse IPv4 publique pour se connecter à leur serveur. Si vous rencontrez des problèmes de connexion, pensez à ajouter votre adresse IPv4 locale dans le champ Local IP de l'écran du serveur. Cette adresse peut être déterminée en cliquant sur Démarrer sur le bureau, en tapant cmd, en appuyant sur Entrée, en tapant ipconfig dans l'invite de commande ouverte et en appuyant sur Entrée.

Administration du serveur

Les administrateurs de serveurs disposent d'une myriade d'outils pour personnaliser et gérer leurs serveurs.

Configuration des paramètres de jeu du serveur

Windows

Emplacements de sauvegarde des données du serveur

Par défaut, le serveur recherche les paramètres du jeu et les données du monde nommés servertest dans C:\Users\YourUsername\Zomboid. Si ces données n'existent pas, le serveur les génère automatiquement en utilisant les paramètres de jeu par défaut. Utilisez le tableau suivant comme référence.

Filename File Location Description
servertest.ini C:\Users\YourUsername\Zomboid\Server Ce fichier contient les paramètres de configuration du serveur. Il est éditable avec le bloc-notes.
servertest_SandboxVars.lua C:\Users\YourUsername\Zomboid\Server Ce fichier contient les paramètres de configuration du sandbox du serveur. Il est éditable avec le bloc-notes.
servertest_spawnpoints.lua C:\Users\YourUsername\Zomboid\Server Ce fichier contient les points de spawn disponibles dans votre serveur. Il est possible de définir des points de spawn personnalisés. Il est éditable avec le bloc-notes.
servertest_spawnregions.lua C:\Users\YourUsername\Zomboid\Server Ce fichier contient les régions disponibles pour le frai (i.e. Muldraugh, Rosewood, etc). Il est éditable avec le bloc-notes.
n/a C:\Users\YourUsername\Zomboid\Saves\Multiplayer\servertest Ce dossier contient les données du monde générées/sauvegardées du serveur.
Personnaliser les paramètres

La personalisation des paramètres du serveur peut être effectuée de deux manières.

  1. À travers le client de jeu
  2. En éditant les fichiers concernés dans le bloc-notes

Pour personnaliser les paramètres à l'aide du client de jeu, lancez Project Zomboid et sélectionnez l'option de menu Héberger suivie de l'option de menu Paramètres.

Si le serveur a été exécuté avec succès au moins une fois :.

  1. Sélectionnez servertest dans la liste des paramètres de serveur enregistrés.
  2. Cliquez sur Éditer les paramètres.
  3. Modifiez les paramètres souhaités et sauvegardez

Si le serveur n'a pas été exécuté au moins une fois :.

  1. Cliquez sur Créer de nouveaux paramètres
  2. Nommez ces paramètres servertest.
  3. Modifiez les paramètres souhaités et sauvegardez

La prochaine fois que le serveur démarrera avec succès, il utilisera les fichiers servertest.ini et lua définis. Les paramètres peuvent être vérifiés en utilisant la commande d'administration showoptions ou en ouvrant servertest.ini, servertest_SandboxVars.lua, servertest_spawnpoints.lua, et servertest_spawnregions.lua dans le bloc-notes.


L'ajout de mods souscrits à Steam Workshop sur le serveur sera téléchargé automatiquement sur les machines clientes connectées.


Note : Les changements peuvent être sauvegardés dans servertest.ini pendant que le serveur fonctionne. Après avoir sauvegardé servertest.ini, utilisez la commande d'administration reloadoptions pour que les modifications soient effectives.

Personnaliser le nom du serveur

Vous pouvez personnaliser le nom de votre serveur pour qu'il soit différent de servertest afin d'avoir des mondes que vous pouvez rapidement lire et identifier, ou pour pouvoir passer à un nouveau monde sans avoir à déplacer un tas de fichiers à la fois côté serveur et côté client pour préserver ce monde.

Avant tout, sachez que les données de la carte du joueur sont stockées localement côté client, sous votre adresse IP et votre port. Si vous ne voulez pas que les informations de la carte soient perdues, vous devrez peut-être modifier le port dans les paramètres de votre serveur. Si vous essayez de sauvegarder un serveur existant, vous avez deux choix devant vous.

  1. ne jamais utiliser le port 16261 pour aucun autre serveur PZ, ou
  2. demander à toute personne ayant déjà rejoint le jeu de rechercher un fichier nommé comme 123.45.0.12_16261_a589371111b0ccerf81acc30e918f8c9 [adresse IP du serveur _ port du serveur _ quelque chose] situé dans C:\Users\%votre nom d'utilisateur%\Zomboid\Saves et leur demander de le mettre en lieu sûr ou de modifier le nom du dossier. Faites ensuite une copie de celui que vous utilisez pour lancer servertest normalement en le sélectionnant, en faisant un clic droit, en sélectionnant copier, en faisant un clic droit quelque part dans un espace vide, en collant.

Renommez le nouveau fichier (ou ne le faites pas)


Server folder.png

Ouvrez le fichier dans un éditeur de texte (tel que notepad) et insérez -servername YOURSERVERNAME derrière -cp %PZ_CLASSPATH% zombie.network.GameServer

Exemple avec un nom de serveur de "pizza" :
@setlocal enableextensions
@cd /d "%~dp0"
SET PZ_CLASSPATH=java/istack-commons-runtime.jar;java/jassimp.jar;java/javacord-2.0.17-shaded.jar;java/javax.activation-api.jar;java/jaxb-api.jar;java/jaxb-runtime.jar;java/lwjgl.jar;java/lwjgl-natives-windows.jar;java/lwjgl-glfw.jar;java/lwjgl-glfw-natives-windows.jar;java/lwjgl-jemalloc.jar;java/lwjgl-jemalloc-natives-windows.jar;java/lwjgl-opengl.jar;java/lwjgl-opengl-natives-windows.jar;java/lwjgl_util.jar;java/sqlite-jdbc-3.27.2.1.jar;java/trove-3.0.3.jar;java/uncommons-maths-1.2.3.jar;java/
".\jre64\bin\java.exe" -Djava.awt.headless=true -Dzomboid.steam=1 -Dzomboid.znetlog=1 -XX:+UseZGC -XX:-CreateCoredumpOnCrash -XX:-OmitStackTraceInFastThrow -Xms4g -Xmx4g -Djava.library.path=natives/;natives/win64/;. -cp %PZ_CLASSPATH% zombie.network.GameServer -servername pizza -statistic 0
PAUSE

En exécutant cette opération, vous créerez un monde avec tous les fichiers nécessaires et les paramètres par défaut que vous pourrez modifier ultérieurement. Si vous avez déjà créé un serveur avec un nom que vous souhaitez utiliser avec tous les paramètres définis comme vous le souhaitez, utilisez le même nom que le fichier dans C:\Users\%votre nom d'utilisateur%\Zomboid\db.

Linux

Emplacements de sauvegarde des données du serveur

Par défaut, le serveur recherchera les paramètres du jeu et les données du monde nommées servertest dans ~/Zomboid (en supposant que vous avez suivi les instructions ci-dessus, ce serait /home/pzuser/Zomboid). Si ces données n'existent pas, le serveur les générera automatiquement en utilisant les paramètres par défaut du jeu. Utilisez le tableau suivant comme référence.

Filename File Location Description
servertest.ini ~/Zomboid/Server Ce fichier contient les paramètres de configuration du serveur.
servertest_SandboxVars.lua ~/Zomboid/Server Ce fichier contient les paramètres de configuration du sandbox du serveur.
servertest_spawnpoints.lua ~/Zomboid/Server Ce fichier contient les points de spawn disponibles dans votre serveur. Il est possible de définir des points de spawn personnalisés.
servertest_spawnregions.lua ~/Zomboid/Server Ce fichier contient les régions disponibles pour le spawn (c'est-à-dire Muldraugh, Rosewood, etc.).
n/a ~/Zomboid/Saves/Multiplayer/servertest Ce dossier contient les données du monde générées/sauvegardées du serveur.

Commandes administrateur

Les commandes suivantes peuvent être exécutées soit dans la fenêtre de la console du serveur, soit dans le jeu (précédées d'une barre oblique lorsqu'elles sont utilisées dans le jeu), à condition que l'utilisateur ait le statut d'administrateur. Certaines choses sont sensibles à la casse (ex : Base.Axe fonctionne, mais pas base.axe)

Commande Description
addalltowhitelist Ajoute tous les utilisateurs actuels qui sont connectés avec un mot de passe à la liste blanche, afin que leur compte soit protégé.
additem Donner un objet à un joueur. Si aucun nom d'utilisateur n'est donné, vous recevrez l'objet. Le nombre est facultatif. Utilisation : /additem \"nom d'utilisateur\" \"module.item\" count, ex : additem rj Base.Axe 1
adduser Ajoute un nouvel utilisateur à un serveur sur liste blanche. Utilisation : /adduser \"nom d'utilisateur\" \"pwd\" ex : adduser rj 12345
addusertowhitelist Ajoute un utilisateur connecté avec un mot de passe à la liste blanche, afin que son compte soit protégé. Utilisation : /addusertowhitelist \"username\" ex: addusertowhitelist rj
addvehicle Fait apparaître un véhicule. Utilisation : /addvehicle \"script\" \"user or x,y,z\", ex: addvehicle Base.VanAmbulance rj
addxp Donne des points d'expérience à un joueur. Utilisation : /addxp \"playername\" perkname=xp, ex: addxp rj Woodwork=2
alarm Déclenche une alarme de bâtiment au poste de l'administrateur. (Doit être dans une pièce.)
banid Bannit un SteamID. Use: banid SteamID
banuser Bannit un utilisateur. Ajoutez -ip pour aussi bannir une IP. Ajoutez -r \"reason\" pour ajouter une raison. Utilisation: /banuser \"username\" -ip -r \"reason\". Par exemple: banuser rj -ip -r spawn kill
changeoption Modifie une option du serveur. Utilisation : /changeoption optionName \"newValue\" ex: changeoption SleepAllowed true
chopper Place un événement hélicoptère sur un joueur aléatoire
createhorde Fait apparaître une horde près d'un joueur. Utilisation : /createhorde count \"username\", ex: createhorde 150 rj, username est optionnel, à l'exception de la console du serveur
createhorde2 Inconnu (ERREUR: Traduction manquante "UI_ServerOptionDesc_CreateHorde2")
godmode Rend un joueur invincible. Aucun nom d'utilisateur ne permet d'activer l'auto-invincibilité. Utilisation : /godmode \"username\" -value, ex godmode rj -true (could be -false)
gunshot Place des sons de coups de feu sur un joueur aléatoire
help Fournit une liste et une description des commandes d'administration.
invisible Rend un joueur invisible aux zombies. Si vous ne fournissez pas de nom d'utilisateur, vous pourrez activer l'invisibilité sur vous-même. Utilisation : /invisible \"nom d'utilisateur\" -valeur, ex : invisible rj -true (pourrait être -false).
kickuser Kick un utilisateur. Ajoutez -r \"reason\" pour ajouter une raison. Use: /kickuser \"username\" -r \"reason\"
noclip Permet au joueur de passer à travers les murs et les structures. Bascule sans valeur. Utilisation: /noclip \"username\" -value, ex: noclip rj -true (could be -false)
players Liste tous les joueurs connectés
quit Sauvegarde et arrête le serveur
releasesafehouse Libérer une planque que vous possédez. Utilisez : /safehouse release
reloadlua Recharge un script Lua. Use: /reloadlua \"filename\"
reloadoptions Recharge les options du serveur (servertest.ini) et les envoie aux clients. Utile pour mettre en œuvre des changements de paramètres de jeu pendant que les joueurs sont connectés.
removeuserfromwhitelist Supprime un utilisateur de la liste blanche. Utilisation : /removeuserfromwhitelist \"nomd'utilisateur\"
removezombies Le nom de la commande est explicite ; non testée. (ERREUR : traduction manquante "UI_ServerOptionDesc_RemoveZombies")
replay Enregistrement et relecture pour le joueur en mouvement. Utilisation : /replay \"playername\" -record\-play\-stop \filename.\ Exemple: /replay user1 -record test.bin
save Sauvegarde le monde de jeu actuel
sendpulse Bascule l'envoi d'informations sur les performances du serveur à ce client. Utilisation : /sendpulse
servermsg Diffuse un message à tous les joueurs connectés. Utilisation : /servermsg \"text\"
setaccesslevel Définit le niveau d'accès d'un joueur. Niveaux actuels : admin, moderator, overseer, gm, observer. E.g. setaccesslevel userName admin / Note : Pour supprimer tout niveau d'accès, utilisez "none" à la place de admin.
showoptions Affiche la liste des options et des valeurs actuelles du serveur.
startrain Démarrer la pluie sur le serveur
stoprain Stoppe la pluie sur le serveur
teleport Téléporte à un joueur. Utilisation: /teleport \"playername\" or /teleport \"player1\" \"player2\", ex /teleport \"rj\" or /teleport \"rj\" \"toUser\"
teleportto Téléporte à des coordonnées. Use: /teleportto x,y,z, ex /teleportto 100098,189980,0
unbanid Dé-bannit un SteamID. Utilisation: /unbanid SteamID
unbanuser Dé-bannit un joueur. Utilisation : /unbanuser \"username\"
voiceban Bloque la voix de l'utilisateur "nom d'utilisateur". Utilisation : /voiceban \"username\" -value, ex /voiceban \"rj\" -true (peut être -false)

Liens externes