4 votes

Erreur du serveur TF2 : mémoire ne pouvait pas être lue

Environnement:

  • Serveur dédié Team Fortress 2, dernière version
  • OS: Windows XP Pro Service Pack 3
  • CPU: Intel Core 2 Duo 2.80 GHz
  • Utilisation du CPU par le serveur TF2: 20-50%
  • RAM: 4 Go
  • Utilisation de la RAM par le serveur TF2: ~450 Mo
  • 17 bots, 1 humain jouant en LAN

Problème:

Lorsqu'une carte se termine et que le serveur tente de charger automatiquement la carte suivante, une erreur d'application s'affiche comme suit:

Les fichiers journaux du serveur ne signalent aucun problème.

server.cfg:

// Paramètres généraux //

// Nom d'hôte du serveur.
hostname "Mon serveur"

// Mot de passe pour jouer sur le serveur.
sv_password "Mon M0tDeP@sse"

// Remplace le nombre maximum de joueurs rapporté aux clients potentiels
sv_visiblemaxplayers 24

// Nombre maximum de manches à jouer avant le changement de carte par le serveur
mp_maxrounds 5

// Définir le temps d'attente par trame
host_framerate 0

// Définir l'état de pause du serveur
setpause 0

// Contrôle de la provenance du contenu côté client
// 0 = n'importe où, 1 = n'importe où listé en liste blanche, 2 = contenu officiel Steam seulement
sv_pure 2

// Le serveur est-il mis en pause
sv_pausable 0

// Type de serveur 0=internet 1=lan
sv_lan 1

// Collecte de statistiques d'utilisation du CPU
sv_stats 1

// Exécution des utilisateurs bannis //
exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip

// Contact & Région //

// Adresse e-mail de contact pour le sysop du serveur
//sv_contact emailaddy@google.com

// Région du monde dans laquelle signaler ce serveur.
// -1 est le monde, 0 est la côte est des États-Unis, 1 est la côte ouest des États-Unis
// 2 Amérique du Sud, 3 Europe, 4 Asie, 5 Australie, 6 Moyen-Orient, 7 Afrique
sv_region -1

// Paramètres Rcon //

// Mot de passe pour l'authentification rcon (Remote CONtrol)
rcon_password Mon_M0tDeP@sse!

// Nombre de minutes pendant lesquelles les utilisateurs seront bannis en cas d'échec de l'authentification rcon
sv_rcon_banpenalty 1440

// Nombre maximum de tentatives d'échec d'authentification rcon avant d'être banni
sv_rcon_maxfailures 5

// Paramètres de journalisation //

// Active la journalisation dans un fichier, la console et udp < sur | off >.
log on

// Journaliser les informations du serveur dans un seul fichier.
sv_log_onefile 0

// Journaliser les informations du serveur dans le fichier journal.
sv_logfile 1

// Journaliser les bannissements du serveur dans les journaux du serveur.
sv_logbans 1

// Echo des informations de journal dans la console.
sv_logecho 1

// Paramètres de taux //

// Limiteur de taux d'images par seconde
fps_max 600

// Taux de bande passante minimum autorisé sur le serveur, 0 == illimité
sv_minrate 0

// Taux de bande passante maximum autorisé sur le serveur, 0 == illimité
sv_maxrate 20000

// Nombre minimum de mises à jour par seconde autorisé par le serveur
sv_minupdaterate 10

// Nombre maximum de mises à jour par seconde autorisé par le serveur
sv_maxupdaterate 66

// Paramètres de téléchargement //

// Permet aux clients de télécharger des fichiers de personnalisation
sv_allowupload 0

// Autoriser les clients à télécharger des fichiers
sv_allowdownload 1

// Taille maximale autorisée des fichiers à télécharger en Mo
net_maxfilesize 15

// Équilibrage des équipes //

// Activer l'équilibrage des équipes
mp_autoteambalance 0

// Steam a dit que ces deux commandes étaient inconnues. Je les ai donc commentées.

// Temps après lequel les équipes déséquilibrées doivent tenter de switcher les joueurs.
//mp_autoteambalance_delay 60

// Temps après lequel les équipes déséquilibrées doivent afficher un avertissement d'équilibre
//mp_autoteambalance_warning_delay 30

// Les équipes sont déséquilibrées lorsqu'une équipe a autant de joueurs de plus que l'autre équipe. (0 désactive la vérification)
mp_teams_unbalance_limit 1

// Temps de round et de jeu //

// Temps de jeu par carte en minutes
mp_timelimit 3

// Activer les chronomètres pour attendre entre les manches. ATTENTION: Le réglage de cela à 0 a provoqué un bug avec des temps de configuration de 5:20 (5 minutes 20 secondes) sur certains serveurs!
mp_enableroundwaittime 1

// Temps après la victoire de la manche avant le redémarrage de la manche
mp_bonusroundtime 8

// Si différent de zéro, la manche actuelle redémarrera dans le nombre de secondes spécifié
mp_restartround 0

// Activer la mort subite
mp_stalemate_enable 1

// Limite de temps (en secondes) de la manche de mort subite.
mp_stalemate_timelimit 300

// Bots //

// Nombre de bots contrôlés par ordinateur dans le serveur. Si un joueur est dans le serveur, il remplacera un slot de bot.
tf_bot_quota 17

// CVars client //

// 0 = activer, 1 = désactiver les temps de réapparition
mp_disable_respawn_times 1

// Restreint les modes spectateurs pour les joueurs morts
mp_forcecamera 0

// Active ou désactive le mode spectateur sur le serveur
mp_allowspectators 1

// Active ou désactive les bruits de pas
mp_footsteps 1

// Active ou désactive les tricheurs
sv_cheats 0

// Après autant de secondes sans message d'un client, le client est déconnecté
sv_timeout 900

// Temps maximal pendant lequel un joueur peut être inactif (en minutes), cela et sv_timeout égalent le même temps ?
mp_idlemaxtime 15

// Gère les joueurs inactifs 1=envoyer en spectateur 2=expulser
mp_idledealmethod 2

// Temps (en secondes) entre les sprays de décalcomanie
decalfrequency 30

// Communications //

// Activer les communications vocales
sv_voiceenable 1

// Les joueurs peuvent entendre tous les autres joueurs, aucune restriction d'équipe 0=off 1=on
sv_alltalk 0

// Durée pendant laquelle les joueurs peuvent discuter après la fin du jeu
mp_chattime 10

// Activer le mode fête
tf_birthday 0

mapcycle.txt:

koth_sawmill
cp_dustbowl
koth_nucleus
ctf_turbine
koth_badlands
cp_manor_event
koth_lakeside_final
cp_foundry
koth_viaduct
cp_granary
pl_badwater
koth_king
cp_badlands
pl_goldrush
koth_probed
cp_vanguard
pl_swiftwater_final1
koth_moonshine_event
cp_gullywash_final1
pl_hoodoo_final
koth_lazarus
cp_snakewater_final1
pl_thundermountain
koth_lakeside_event
cp_process_final
pl_upward
koth_brazil
cp_metalworks
pl_barnblitz
koth_viaduct_event
cp_gorge
pl_enclosure_final
koth_slasher
cp_sunshine
pl_fifthcurve_event
koth_slaughter_event
cp_mercenarypark
pl_rumble_event
cp_mossrock
pl_precipice_event_final
cp_gorge_event

Mise à jour #1: J'ai pensé que cela pourrait être dû à l'OS obsolète (Windows XP) alors j'ai installé Windows 10 à la place et devinez quoi... le serveur s'arrête complètement en essayant de changer de carte.

Mise à jour #2: J'ai créé une machine virtuelle Windows 10 Home (sur un hôte Windows 10 Home) en utilisant Virtualbox avec 4 Go de RAM et deux processeurs virtuels. Le même comportement se produit (le serveur dédié plante lors d'un changement de carte).

1voto

Robotnik Points 36143

Semble être un problème de RAM

Oui, TF2 tourne autour de 450 Mo en veille, mais si le problème se produit uniquement pendant le changement de carte, alors il y a de fortes chances qu'il monte beaucoup plus haut que 450 Mo en essayant de charger tous les nouveaux fichiers pour la nouvelle carte, causant l'erreur ci-dessus.

Comme test (et solution temporaire), vous pouvez essayer d'augmenter la taille du fichier de pagination dans Windows. Un fichier de pagination (également appelé fichier d'échange, ou mémoire virtuelle) est un espace sur le disque dur vers lequel Windows déplace des éléments lorsque la RAM est faible.

C'est généralement très lent par rapport à l'utilisation de la RAM réelle, donc je ne recommanderais pas cela comme solution à long terme (surtout si vous voulez que ce serveur soit éventuellement hébergé en ligne), mais cela devrait empêcher TF2 de planter et confirmer que c'était le problème.


Pour augmenter la taille du fichier de pagination, dans Windows 10/11 :

  • Cliquez sur Démarrer et tapez "Système avancé", vous devriez voir "Afficher les paramètres système avancés." Cliquez dessus.
  • Dans Propriétés système, sous l'onglet 'Avancé', cliquez sur le bouton 'Paramètres' sous la boîte 'Performance'.
  • Dans la nouvelle fenêtre qui s'ouvre, sous l'onglet 'Avancé', cliquez sur le bouton '*Modifier' sous la boîte 'Mémoire virtuelle'.
  • Décochez 'Gérer automatiquement la taille du fichier d'échange pour tous les lecteurs'
  • Sélectionnez le lecteur système Windows et choisissez 'Taille personnalisée'
  • Modifiez la valeur de la taille initiale et la valeur maximale pour une valeur plus élevée. Notez que les paramètres actuels sont indiqués ci-dessous en Mo.
  • Cliquez sur Définir, puis Appliquer/OK jusqu'à revenir en arrière.

Ensuite, vous devriez démarrer TF2 et voir ce qui se passe pendant un match. Si cela résout le problème, vous pouvez alors envisager d'acheter plus de RAM pour le système.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X