GMod-Map testen: Playtest mit Spielern in fünf Stufen
GMod-Map testen, bevor sie live geht: fünf Stufen vom Solo-Durchgang bis zur Runde mit Spielern, mit Konsolenbefehlen, Checkliste und Regeln für Feedback.
Teste eine GMod-Map in fünf Stufen: finaler Compile, Solo-Durchgang mit Entwicklerkonsole, Test auf einem sauberen Client ohne deinen Content, Test auf einem Dedicated Server und zuletzt eine Runde mit echten Spielern. Allein auf dem eigenen Rechner bist du Server und Client zugleich und hast jede Datei lokal. Fehlender Content, ruckelnde Aufzüge, zu wenige Spawns und Einbrüche bei vielen Entities zeigen sich deshalb erst in den späteren Stufen.
Warum der Test allein nicht reicht
- Du bist Server und Client zugleich. Im Einzelspieler überspringt der Client die Prediction. Auf einem Server berechnet jeder Client seine eigene Bewegung voraus, und der Server korrigiert sie, wenn er zu einem anderen Ergebnis kommt. Am deutlichsten wird das auf bewegten Plattformen: Vertikal fahrende Plattformen wirken im Mehrspieler für Mitfahrende ruckelig.
- Dein Rechner hat jeden Content. Texturen, Models und Sounds liegen in deinem Spielordner, dazu kommen gemountete Spiele. Ein Tester hat nur, was in der BSP steckt oder was der Server ausliefert.
- Ein Server läuft ohne Cheats. Viele Diagnosebefehle brauchen
sv_cheats 1, auf einem Server steht der Wert standardmäßig auf 0. Die Analyse machst du lokal, den Server nutzt du zum Beobachten. - Mehr Spieler bedeuten mehr Entities. Jeder Spieler, jede Waffe und jedes gespawnte Prop ist ein Entity. Spawns, Türen, Bildrate und das Edict-Limit werden erst unter Last geprüft.
Der Testplan in fünf Stufen
- Finaler Compile. Teste nur die Datei, die du veröffentlichst: VVIS vollständig, VRAD mit
-final, Cubemaps gebaut, Content gepackt. Die Prüfung der Datei selbst beschreibt Map vor Release prüfen. Gib jeder Testversion einen eigenen Dateinamen, denn der Server weist Clients mit abweichender BSP ab (Your map [...] differs from the server's.). - Solo-Durchgang. Lade die Map lokal, aktiviere
developer 1und laufe sie vollständig ab: jede Tür, jeden Knopf, jeden Aufzug, jede Leiter. Lies danach die Konsole. Starte anschließend ein Spiel mit mehreren Slots und fülle sie mitbot. So siehst du, ob die Spawnpunkte reichen. - Sauberer Client. Die Startoptionen
-noworkshopund-noaddonsschalten Workshop- und Ordner-Addons vorübergehend ab. Lose Dateien im Spielordner und gemountete Spiele bleiben aber erhalten. Verlässlicher ist ein zweiter Rechner oder ein Tester, der deinen Content nie hatte. - Dedicated Server. Lade die Map auf einem Dedicated Server und verbinde dich. Lies die Serverkonsole beim Mapstart, prüfe, ob Map und Content beim Client ankommen (siehe FastDL und Workshop), und fahre jeden Aufzug mit echtem Ping.
- Echte Spieler. Spiele die Map in dem Spielmodus, für den sie gedacht ist, mit so vielen Spielern wie möglich. Du beobachtest und notierst, du erklärst nichts.
Konsolenbefehle für die Stufen 2 bis 4
| Befehl | Zeigt | sv_cheats 1 nötig |
|---|---|---|
developer 1 | zusätzliche Meldungen in der Konsole und oben links im Bild | nein |
cl_showfps 1 | Bildrate | nein |
net_graph 1 | Bildrate, Latenz und Paketdaten | nein |
cl_showpos 1 | aktuelle Position | nein |
getpos | schreibt Position und Blickwinkel in die Konsole | nein |
status | Map, Spieler und Verbindungen | nein |
report_entities | Entities nach Klasse gezählt, dazu die Gesamtzahl mit Edicts | nein, aber nur für den Host oder in der Serverkonsole |
+showbudget | Rechenzeit pro Bild nach Bereichen | in GMod nein (die Cheat-Pflicht aus dem Valve-Wiki gilt für andere Source-Spiele) |
mat_wireframe 1 | alles Gezeichnete als Drahtgitter | ja |
mat_leafvis 1, r_DrawPortals 1 | aktuelles Visleaf und Areaportals | ja |
r_drawclipbrushes 1, vcollide_wireframe 1 | Clip-Brushes und Kollisionsmodelle | ja |
showtriggers_toggle | Trigger-Brushes | ja |
nav_edit 1, ai_nodes | Navmesh und AI-Nodes | ja |
soundscape_debug 1 | Linien zu allen env_soundscape, die aktive in Grün | ja |
Ein sinnvoller Start für den Solo-Durchgang:
sv_cheats 1
developer 1
cl_showfps 1
cl_showpos 1
report_entities
Notiere die Gesamtzahl aus report_entities auf der leeren Map. Sie ist dein Ausgangswert, bevor Spieler und Props dazukommen. In der Konsole eines Dedicated Servers gibt stats zusätzlich Leistungswerte des Servers aus. Wie du mit mat_wireframe und +showbudget Ursachen findest, steht in GMod-Map optimieren.
Checkliste für den Test
| Prüfpunkt | Worauf du achtest | Stufe |
|---|---|---|
| Spawns | jeder spawnt frei, niemand stirbt am Spawn, genug Punkte für den vollen Server | 2 mit Bots, 5 |
| Stuck-Stellen | Ecken, Spalten zwischen Props, Bereiche hinter Türen: Kommt ein Spieler ohne Noclip wieder heraus? | 2, 5 |
| Out of bounds | Dächer, Mauerkronen, der Rand der Skybox: Was erreichen Spieler durch Springen und gestapelte Props, und was sehen sie dort? | 5 |
| Licht und Cubemaps | einmal mit mat_hdr_level 0, einmal mit mat_hdr_level 2 ablaufen, Reflexionen prüfen | 2, 3 |
| Sound | Soundscapes wechseln an den richtigen Stellen, die Konsole meldet keine fehlenden Sounds | 2, 3 |
| Performance | niedrigste Bildrate am Punkt mit der weitesten Sicht, während alle Tester dort stehen | 2, 5 |
| Türen und Aufzüge | mehrere Spieler blockieren die Tür, fahren gemeinsam, springen während der Fahrt | 4, 5 |
| Navigation | NPCs und Nextbots erreichen alle Bereiche, siehe Navmesh und AI-Nodes | 2 |
| Fehlender Content | keine pink-schwarzen Flächen, keine ERROR-Models auf dem sauberen Client | 3 |
Zeigt der saubere Client Fehler, hilft Fehlende Texturen und ERROR-Models beheben. Was beim Bau von Aufzügen zu beachten ist, steht in Aufzüge und Züge.
Feedback sammeln und gewichten
Ein Fund ohne Ort lässt sich nicht beheben. Lege deshalb vor dem Test fest, wie gemeldet wird:
- Ein Kanal, eine Nachricht pro Fund.
- Jede Meldung enthält den Dateinamen der Map, die Position aus
getposoder einen Screenshot mitcl_showpos 1, den Spielmodus, die Spielerzahl und das, was der Tester gerade getan hat. - Bitte die Tester, GMod mit
-condebugzu starten. Die Konsole landet dann in der Dateiconsole.log, die sie dir schicken können. - Beobachte, statt nur zu fragen: Wo verlaufen sich Spieler, welche Bereiche bleiben leer, wo sammeln sich alle?
Danach sortierst du in drei Klassen und arbeitest sie in dieser Reihenfolge ab:
- Blocker: Absturz, kein Spawn, Stuck-Stelle ohne Ausweg, fehlender Content, ein Weg aus der Map.
- Spielfluss: Einbrüche der Bildrate, unfaire Positionen, klemmende Türen und Aufzüge, unklare Wege.
- Optik: Lichtkanten, verschobene Texturen, schwebende Props.
Ändere nichts während eines Tests. Sammle, behebe einen ganzen Stapel, kompiliere, vergib einen neuen Dateinamen und teste erneut. Geschmacksfragen notierst du, sobald mehrere Tester unabhängig voneinander dasselbe sagen.
Wann die Map fertig ist
Die Map ist fertig, wenn alle fünf Stufen mit genau der Datei gelaufen sind, die du veröffentlichst, und kein Blocker offen ist. Konkret heißt das: Der saubere Client zeigt keinen fehlenden Content, die Serverkonsole bleibt beim Mapstart frei von Fehlern, die letzte Runde mit Spielern hat keinen neuen Blocker ergeben, und du kennst die Bildrate an der schlechtesten Stelle mit Spielern.
Jede Änderung an der BSP erzeugt eine neue Datei. Nach einem letzten Fix wiederholst du deshalb mindestens die Stufen 2 bis 4. Zum Schluss prüfst du die Datei mit dem Map Scanner. Er kontrolliert die Struktur der BSP, meldet riskante Entities, prüft, ob ein Spawnpoint vorhanden ist, und listet die Dateien im Pakfile auf.
Häufige Fragen
Wie viele Tester brauche ich?
Eine feste Zahl gibt es nicht. Fehlenden Content findet schon ein einzelner Tester mit sauberem Client. Für Spawns, Türen und Performance zählt die Spielerzahl, die der Server später tatsächlich hat.
Kann ich mit Bots statt mit Spielern testen?
Teilweise. bot fügt auf einem Server mit freiem Slot einen Bot hinzu. Im Einzelspieler lehnt GMod das mit Cannot create a player bot in singleplayer! ab. sv_cheats 1 braucht der Befehl nicht, er wirkt aber wie report_entities nur für den Host oder in der Serverkonsole. Bots belegen Slots und Spawnpunkte. Sie ersetzen keine Spieler, die Wege suchen, Türen blockieren und Props spawnen.
Warum funktioniert mat_wireframe auf dem Server nicht?
Der Befehl ist als Cheat markiert und wirkt nur mit sv_cheats 1. Auf einem Live-Server bleibt das aus. Nutze dort cl_showfps, net_graph und status, und wiederhole die Stelle lokal mit Cheats.