Improve AdventureBot planning and travel performance

This commit is contained in:
Nico committed 2026-10-31 15:35:46 +01:00
1 parent 69b5a1c4a1
commit d1ef007cef
18 files changed
+906 -27

No files matched your search

+112
View File
@@ -1,3 +1,115 @@
# Aktuell: Routenplaner-Last behoben und volle Population live geprüft
Nutzer meldete Serverlags und bat nach Prüfung bestehender Navigationsprobleme
um den Fix. Vorher mit110Bots: ActionExecutor regelmäßig20–29s je30s, einzelne
PlanAdaptiveRoute-Aufrufe bis10.9s/13693FlightEstimates. Ursache war eine implizit
nahezu vollständige Flugverknüpfung, Flugausstiegprüfung jedes Straßenpunktes,
virtuelle Straßeneinstiegssuche auch an normalen Graphknoten und insbesondere
40-Yard-Gebietssampling ganzer nativer Taxipfade für neue Level/Fraktionskeys.
Fix in ClientlessTravelGraphMgr: maximal2 vorsortierte Flugausstiege pro Kante/
8proPlan,16 echte FlightEstimates proPlan, Schätzcache über beide Suchtier,
Flugconnectoren nur Ziel/mapwechselnde oder physische Transportquellen statt
aller Taxis, direkter same-map Location-Flug vor Makrosuche, virtuelle Forward-
Entry-Reparatur nur an echten Graph-Sackgassen. AdventureAreaMgr prüft native
Taxipfadexistenz plus bereits fraktions-/gebietskataloggeprüfte Endknoten; das
Überfliegen gesperrter Gebiete ist erlaubt und wird nicht mehr in40yd-Schritten
abgetastet. Native Flug-/Gebiets-/Start-/Landesicherheit bleibt bestehen.
Mehrere inkrementelle Builds regelkonform: Loader/Testaufnahme0, safe logout,
nullSitzungen oder dokumentierte5min-Ausnahme, saubererShutdown, ausschließlich
-j10. Gezielter test_free_flight_planner bei jedem Build PASS, diff-check PASS.
Final installiert; frischer ready-Prozess47340, Ports8085/8087. Vier Recoverybots
54/64/89/109 in Fraktionshauptstädten geprüft; Details unter
doc/clientless/checkpoints/2026-10-31-route-performance/. Loader/Testaufnahme
wieder1, volle Pools50/5/50/5=110 online.
Live nach finalem Fix: Kaltplanung statt10–20s noch1.93s einmalig; folgende
vergleichbare Routen51–153ms. Bei110Bots drei volle30s-Fenster Actions4.11/4.38/
4.14s statt20–29s; Controllers6.63/7.06/6.79s, keine RECOVERY_FAILED oder
TRAVEL_PLAN_FAILED. CPU-Prozess etwa130% über mehrere Threads; Server bleibt
ready. Noch auffällig: Fizzira43 wiederholt alle2–3s denselben Intent-Fallback
instance_visit_at_2217->446 (Intent none, keine Action), kein eigentlicher
Travelplan-Fehler. Andere neue Fallbacks:154(13),95(12),50/114(8),146(7),105(6).
Fizzira ist ein separater Tagesplan/Intent-Fallback-Bug und sollte als nächstes
behoben werden. Kein Commit/Push für diese Arbeit angefordert.
---
# Aktuell: Brindras verwaister Gruppen-Pfadvalidator behoben und live geprüft
Brindra86 hing nach einer früheren Gruppe hinter der Tiefenbahn auf der
Eisenschmiede-Seite fest. MMAP berechnete vollständige Wege, doch TravelMgr
meldete `owner ground-safety validator rejected spline`; die Route startete
wiederholt über `virtual_ground_entry`. Ursache: `AdventureGroupTravelMgr::Observe`
kehrte bei `GetGroup()==nullptr` zurück, ohne den zuvor installierten
GroundPathAdapter/PathValidator und Gruppenreise-Record zu entfernen.
Fix in AdventureGroupTravelMgr.cpp: Wenn keine Gruppe mehr besteht und ein
Gruppenreise-Record vorhanden ist, wird `Clear(player)` aufgerufen. Dadurch werden
Adapter, Validator, eigener Reisezustand und Record entfernt; Bots ohne früheren
Record bleiben unberührt. Regression in test_adventure_group_travel.py verfolgt
beide Registrierungen und beweist deren Entfernung samt Record/Reiseabbruch.
Buildregel eingehalten: Loader/Testaufnahme0, safe logout angefordert. Nach fünf
Minuten blieben13 Bots auf regulären Flug/Taxistrecken; Saveall, vollständige TSV-
Liste mit GUID/Name/Fraktion/Position/Taxi und native Info/Flight/Transport/Action-
Ausgaben unter `/home/wow_admin/wow_cata_server/checkpoints/brindra-group-validator/`.
Server sauber beendet. Gruppentravel-TestPASS. Build-j10 am Ende vollständig
gelinkt (ELF geprüft), installiert, frischer ready-Start Prozess32369, Ports8085/
8087. Wegen einer fehlerhaften Tool-Sitzungsrückmeldung liefen kurz mehrere eigene
Linkprozesse auf dasselbe Artefakt; ausschließlich diese Prozesse beendet, danach
ein einzelner sauberer Neu-Link. Installierte alte Binary war dabei nie überschrieben.
Alle13 Restbots eingeloggt, alte Flug-/Transportzustände waren weg, in
Sturmwind/Orgrimmar geborgen und per Area-Ausgabe bestätigt. Loader/Testaufnahme
wieder1; tatsächlich enabled1/schema1/busy0/known110. Brindra war erneut in einer
Gruppe; `interaction 86 leave` führte live zu `No group travel state`, grouped0.
Der zuvor abgelehnte Weg läuft nun mit Travel=Moving und Nav reason=`ok`, ohne
PathRejected. Brindras Schedule ist wieder an. Kein Commit/Push angefordert.
---
# Aktuell: GM-Tagesplaneditor implementiert, gebaut, installiert und live geprüft
Nutzerauftrag: aktuelle/künftige Intents samtLocation perBefehl, GUID/Population,
Fraktions- undLevelgruppenfilter. NeuerBefehl `clientless adventure editplan`
unterbestehendemGM-Kommando. Syntax/Beispiele: doc/clientless/plan-commands.md.
Scope ausdrücklich EINGELOGGTE AdventureBots, heutige aktuelle/künftigeStunden.
GUID|all, current|next|next+N|Stundenrange, Intent|keep|instance-or-raid,
Location|auto|capital|keep, alliance|horde|both, Min/Max1..85, preview|apply.
Vorschau kopiertRecord und verändert wederDB nochRNG. Änderungen validiert mit
normalemAllowed/Level/Area/Flight; FormationbenötigtzulässigenFolgeblock, nieStunde23.
GültigeBots persistieren sofort und aktualisierenRAMPlan; ungültigeBots werden
mitGrund proBot komplett übersprungen. Aktuell benutzt sicherenSetWantedHandover,
zukünftig lässtaktuellenIntentlaufen. KeineTeleports/Gruppenauflösung durchEditor.
KeineSchemaänderung/keineLuaänderung nötig. Current reaktiviertSchedule, Future
behältmanuellenSchedulemode; beiBedarf schedule GUID on.
Betrieb: User warerneutbeimAufzeichnen, asynchrongefragt; Antwort "bin fertig gut
aufgepasst" erlaubteInstallation/Restart. Loader/TestAdmissionpausiert, safeall um
13:41:55CET; nachmehrals5min9Restbots53/54/67/74/75/86/89/125/145 mitSnapshot,
saveallDBPositionen und verfügbarenFlags dokumentiert; sauberShutdown10, Prozessende
verifiziertVORBuild. BestehenderNinjaDebugBuild-j10 EXIT0, viergezielteTestsPASS.
InstallEXIT0, frischerreadyStartProzess25737, Ports8085/8087geprüft. NeunBots
geprüft/indenHauptstädtenzurückgesetzt. Brindra86brauchtezweitenTeleport nachsicherem
BehaviorStop; area5148bestätigt undSchedulewiederon. Loader/TestEnabled1undAdmission
restauriert; tatsächlichenLoader enabled1/schema1/busy0/pools50/5/50/5bestätigt.
Restbotpositionsquelle ausdrücklich letztesSaveall, keineunbelegtenLivekoordinaten.
NativeLiveprüfung: Preview26next undallianceLevel60Filter, dann26Stunde20
social->rest(auto), DBpersistenzgeprüft; originalsocial/goldshire_tavern wiedermit
Befehlhergestellt und alleSlots18..23gegenBackupidentischbestätigt. Dergeplante
Gruppentest14–15/15–16bleibtbestehen. RaidJoin0/BGJoin0unverändert.
KeinCommitfürdiesenAuftragangefordert/erstellt, vorherigerCommit69b5a1c4a1.
Code: AdventurePlanCommand.h, AdventureBehaviorMgr.cpp/.h. Test:
tests/clientless/test_adventure_plan_commands.py extrahiertproduktiveEditPlanMethode.
Belege: doc/clientless/checkpoints/2026-10-31-plan-command/. VierTestsstattkompletter
Suiteerneut, frühere120/120historisch. git diff --check erfolgreich.
Vorheriges32MBRohlogundPythonCacheweiterlokalunversioniert, nichtlöschen.
---
# Aktueller Gruppentest geplant: 31.10., 14–15 Uhr Vorbereitung, 15–16 Uhr Ziele
Nutzer verlangt NÄCHSTEN Intent Gruppenbildung, danach gemischt Dungeon/Raid.
@@ -0,0 +1,13 @@
{
"cause": "group travel path validator remained registered after leaving group",
"fix": "AdventureGroupTravelMgr::Observe clears an existing group-travel record when GetGroup returns null",
"regression_test": "PASS: test_adventure_group_travel.py",
"build": "PASS: CMake/Ninja Debug -j10, final artifact verified as ELF",
"installed": true,
"startup": "PASS: fresh ready, process 32369, ports 8085 and 8087",
"live_test": "PASS: Brindra left group, report showed no group travel state/grouped=0; same route changed from PathRejected to Moving with nav reason ok",
"loader_restored": "enabled=1 schema=1 busy=0 known=110",
"recovery_count": 13,
"raw_evidence": "/home/wow_admin/wow_cata_server/checkpoints/brindra-group-validator/",
"commit": null
}
@@ -0,0 +1,6 @@
{
"Clientless.Adventure.Loader.Enabled": 1,
"Clientless.TestBot.Enabled": 1,
"requested_at": "2026-10-31T13:41:55.253785+01:00",
"monotonic": 24044.355791678
}
@@ -0,0 +1,44 @@
[
{
"character_guid": "26",
"local_date": "20261031",
"hour_slot": "18",
"intent": "leisure",
"location_key": "poi_guard_542"
},
{
"character_guid": "26",
"local_date": "20261031",
"hour_slot": "19",
"intent": "groupformation",
"location_key": "poi_npc_314039"
},
{
"character_guid": "26",
"local_date": "20261031",
"hour_slot": "20",
"intent": "social",
"location_key": "goldshire_tavern"
},
{
"character_guid": "26",
"local_date": "20261031",
"hour_slot": "21",
"intent": "social",
"location_key": "goldshire_tavern"
},
{
"character_guid": "26",
"local_date": "20261031",
"hour_slot": "22",
"intent": "groupformation",
"location_key": "poi_npc_314313"
},
{
"character_guid": "26",
"local_date": "20261031",
"hour_slot": "23",
"intent": "raid",
"location_key": "instance_visit_at_3528"
}
]
@@ -0,0 +1,44 @@
[
{
"character_guid": "26",
"local_date": "20261031",
"hour_slot": "18",
"intent": "leisure",
"location_key": "poi_guard_542"
},
{
"character_guid": "26",
"local_date": "20261031",
"hour_slot": "19",
"intent": "groupformation",
"location_key": "poi_npc_314039"
},
{
"character_guid": "26",
"local_date": "20261031",
"hour_slot": "20",
"intent": "social",
"location_key": "goldshire_tavern"
},
{
"character_guid": "26",
"local_date": "20261031",
"hour_slot": "21",
"intent": "social",
"location_key": "goldshire_tavern"
},
{
"character_guid": "26",
"local_date": "20261031",
"hour_slot": "22",
"intent": "groupformation",
"location_key": "poi_npc_314313"
},
{
"character_guid": "26",
"local_date": "20261031",
"hour_slot": "23",
"intent": "raid",
"location_key": "instance_visit_at_3528"
}
]
@@ -0,0 +1,6 @@
[
{
"intent": "rest",
"location_key": "goldshire_tavern"
}
]
@@ -0,0 +1,132 @@
{
"snapshot_at": "2026-10-31T13:47:02.811753+01:00",
"bots": [
{
"guid": "53",
"name": "Noranda",
"race": "1",
"map": "571",
"position_x": "5728.95",
"position_y": "695.284",
"position_z": "688.058",
"taxi_path": "",
"faction": "alliance",
"position_source": "saveall immediately before shutdown; last database-saved position",
"individual_combat_teleport": "not exposed by current native status; aggregate safe logout and native flight/transport diagnostics captured separately",
"recovery_result": "Online login confirmed; admin teleport to faction capital; native adventure area confirmed map0/area5148 Alliance or map1/area5170 Horde."
},
{
"guid": "54",
"name": "Falaeriel",
"race": "10",
"map": "1",
"position_x": "1614",
"position_y": "-4323.1",
"position_z": "64.094",
"taxi_path": "",
"faction": "horde",
"position_source": "saveall immediately before shutdown; last database-saved position",
"individual_combat_teleport": "not exposed by current native status; aggregate safe logout and native flight/transport diagnostics captured separately",
"recovery_result": "Online login confirmed; admin teleport to faction capital; native adventure area confirmed map0/area5148 Alliance or map1/area5170 Horde."
},
{
"guid": "67",
"name": "Volasha",
"race": "8",
"map": "1",
"position_x": "-4483.48",
"position_y": "-1854",
"position_z": "132.231",
"taxi_path": "25 42 ",
"faction": "horde",
"position_source": "saveall immediately before shutdown; last database-saved position",
"individual_combat_teleport": "not exposed by current native status; aggregate safe logout and native flight/transport diagnostics captured separately",
"recovery_result": "Online login confirmed; admin teleport to faction capital; native adventure area confirmed map0/area5148 Alliance or map1/area5170 Horde."
},
{
"guid": "74",
"name": "Nimbin",
"race": "7",
"map": "1",
"position_x": "-3962.06",
"position_y": "-2889.03",
"position_z": "111.189",
"taxi_path": "179 389 ",
"faction": "alliance",
"position_source": "saveall immediately before shutdown; last database-saved position",
"individual_combat_teleport": "not exposed by current native status; aggregate safe logout and native flight/transport diagnostics captured separately",
"recovery_result": "Online login confirmed; admin teleport to faction capital; native adventure area confirmed map0/area5148 Alliance or map1/area5170 Horde."
},
{
"guid": "75",
"name": "Faeleran",
"race": "10",
"map": "1",
"position_x": "21.0141",
"position_y": "-3100.41",
"position_z": "119.486",
"taxi_path": "25 23 ",
"faction": "horde",
"position_source": "saveall immediately before shutdown; last database-saved position",
"individual_combat_teleport": "not exposed by current native status; aggregate safe logout and native flight/transport diagnostics captured separately",
"recovery_result": "Online login confirmed; admin teleport to faction capital; native adventure area confirmed map0/area5148 Alliance or map1/area5170 Horde."
},
{
"guid": "86",
"name": "Brindra",
"race": "3",
"map": "0",
"position_x": "-5298.76",
"position_y": "-598.388",
"position_z": "388.853",
"taxi_path": "",
"faction": "alliance",
"position_source": "saveall immediately before shutdown; last database-saved position",
"individual_combat_teleport": "not exposed by current native status; aggregate safe logout and native flight/transport diagnostics captured separately",
"recovery_result": "Online login confirmed; admin teleport to faction capital; native adventure area confirmed map0/area5148 Alliance or map1/area5170 Horde. First teleport drifted back to old movement; stopped behavior safely, repeated teleport verified area5148; schedule on restored."
},
{
"guid": "89",
"name": "Tahuima",
"race": "6",
"map": "571",
"position_x": "2718.31",
"position_y": "6232.1",
"position_z": "83.5786",
"taxi_path": "",
"faction": "horde",
"position_source": "saveall immediately before shutdown; last database-saved position",
"individual_combat_teleport": "not exposed by current native status; aggregate safe logout and native flight/transport diagnostics captured separately",
"recovery_result": "Online login confirmed; admin teleport to faction capital; native adventure area confirmed map0/area5148 Alliance or map1/area5170 Horde."
},
{
"guid": "125",
"name": "Koruhon",
"race": "6",
"map": "1",
"position_x": "2822",
"position_y": "-481.923",
"position_z": "112.377",
"taxi_path": "58 25 ",
"faction": "horde",
"position_source": "saveall immediately before shutdown; last database-saved position",
"individual_combat_teleport": "not exposed by current native status; aggregate safe logout and native flight/transport diagnostics captured separately",
"recovery_result": "Online login confirmed; admin teleport to faction capital; native adventure area confirmed map0/area5148 Alliance or map1/area5170 Horde."
},
{
"guid": "145",
"name": "Gorgar",
"race": "2",
"map": "530",
"position_x": "-1757.67",
"position_y": "5231.64",
"position_z": "-47.6846",
"taxi_path": "",
"faction": "horde",
"position_source": "saveall immediately before shutdown; last database-saved position",
"individual_combat_teleport": "not exposed by current native status; aggregate safe logout and native flight/transport diagnostics captured separately",
"recovery_result": "Online login confirmed; admin teleport to faction capital; native adventure area confirmed map0/area5148 Alliance or map1/area5170 Horde."
}
],
"completed": true
}
@@ -0,0 +1,20 @@
{
"build": "PASS -j10",
"installed": true,
"startup": "fresh ready and process25737 with ports8085/8087",
"tests": [
"plan-command parser and production EditPlan",
"intent state",
"day persistence",
"group departure"
],
"tests_passed": 4,
"live_validation": "GUID26 future hour20 persisted; restored original18-23 and compared all six rows; filtered read-only previews accepted",
"restored_loader": 1,
"restored_test_admission": true,
"raid_join_enabled": false,
"bg_join_enabled": false,
"recovery_count": 9,
"scope": "online AdventureBots; edits persisted for restart; no offline selection",
"git_commit": "not requested for this task"
}
@@ -0,0 +1,41 @@
# Safe-logout recovery list before route-planner performance build
- Safe logout requested: 2026-10-31 14:28 CET (approximately; console command)
- Snapshot/saveall: 2026-10-31 14:34 CET
- Loader and TestBot admission: disabled before the request
- Native aggregate at the five-minute limit: sessions 4, combat 0, transport 0,
flight/taxi 4, loading 0
- Teleport-in-progress is not exposed by the current native status command.
| GUID | Name | Faction | Saved position | Combat | Flight/taxi | Transport | Action/status before shutdown |
|---:|---|---|---|---:|---:|---:|---|
| 54 | Falaeriel | Horde | map 1, 5309.99 -3820.91 1723.56 | no | failed free flight, still flying/mounted | no | `travel_to_location`, no safe bounded corridor |
| 64 | Hildda | Alliance | map 0, -8802.94 642.241 106.207 | no | failed free flight, still flying/mounted | no | `travel_to_location`, no safe bounded corridor |
| 89 | Tahuima | Horde | map 1, 1754.87 -4343.36 115.299 | no | failed free flight, still flying/mounted | no | `travel_to_location`, no safe bounded corridor |
| 109 | Rixbin | Horde | map 530, 157 6047.06 57.2654; taxi 118 102 | no | native taxi active; prior free flight arrived | no | `travel_to_location`, taxi path 537 (118 to 102) |
The first three records demonstrate an existing safe-logout gap: failed free
flight deliberately holds the bot mounted in the air, so the native safety gate
can never become ready. Per the five-minute build rule they were not detached or
force-logged-out individually; the server is shut down cleanly before compiling.
After restart all four records must be checked and, if necessary, reset to
Stormwind or Orgrimmar before normal loader operation resumes.
## Incremental performance build
The first live measurement showed that limiting road exits alone was
insufficient. A second safe logout was requested at approximately 14:36 CET
with the loader still disabled. GUIDs 64, 89 and 109 logged out safely. GUID 54
remained in `FlightState::Failed` with movement flags still reporting flight
(`flight segment made no confirmed progress`) beyond the five-minute limit.
It is the sole recovery record for the incremental build; no individual forced
logout or flight interruption was used before the clean server shutdown.
## Recovery result
After each installed build the recorded characters were logged in with the
loader paused. All four had lost stale taxi/free-flight controller state.
Falaeriel, Tahuima and Rixbin were verified in Orgrimmar (allowed area 5170 or
1637); Hildda was verified in Stormwind (allowed area 5148). Their saved DB
positions are now in the correct faction capitals and have empty taxi paths.
Normal loader and TestBot admission were restored after the final build.
+66
View File
@@ -0,0 +1,66 @@
# Tagespläne per GM-Befehl bearbeiten
In der Konsole ohne Punkt, im Spiel mit führendem Punkt. Benötigt GM-Berechtigung.
```
clientless adventure editplan <guid|all> <Zeitraum> <Intent> <Location> <Fraktion> <MinLevel> <MaxLevel> <preview|apply>
```
- Ziel: einzelne Charakter-GUID oder `all` für alle eingeloggten AdventureBots.
Offlinebots, Dungeonbots und echte Spieler werden nicht verändert.
- Zeitraum: `current`, `next`, `next+1` (übernächste Stunde), eine Stunde `15`
oder inklusive Spanne `15-17`. Nur heutige aktuelle/künftige Stunden;
kein stiller Überlauf zum nächsten Tag. `current-next` ist ebenfalls möglich.
- Intent: vorhandener Intentname, `keep` zum Beibehalten oder `instance-or-raid`
für einen gemischten Test. Letzteres versucht bei geraden GUIDs Raid, sonst Dungeon;
bei `auto` fällt ein nicht zulässiger Raid auf Dungeon zurück.
- Location: konkreter Location-Key, `keep`, `auto` für die normale profil- und
zugangsabhängige Auswahl oder `capital` für einen gültigen Ort in Sturmwind bzw.
Orgrimmar. TravelGraph-Node-Keys sind nicht automatisch Location-Keys.
- Fraktion: `alliance`, `horde`, `both`; Levelgrenzen inklusive, 1–85.
- `preview` zeigt die geplanten Änderungen ohne Datenbank-, Bewegungs- oder
Zufallszustandsänderung. `apply` speichert die Änderungen im persistenten Tagesplan
und aktualisiert die laufenden Pläne ohne Neustart oder Lua-Änderung.
Ungültige Ziele werden gemeldet und für den betreffenden Bot wird die gesamte
angeforderte Spanne übersprungen. Andere gültige Bots werden bearbeitet.
Alle normalen Level-, Fraktions-, Gebiets-, Flug- und Instanzregeln bleiben aktiv.
Gruppenbildung benötigt eine zulässige Folgeaktivität; diese deshalb zuerst setzen.
Gruppenbildung in Stunde23 wird abgewiesen, weil kein Folgeblock existiert.
Aktuelle Änderungen aktivieren die Tagesplansteuerung und gehen durch den normalen
sicheren Intentwechsel. Gruppenführung und laufende Spielerinstanzen behalten ihre
normalen Regeln; dieser Befehl teleportiert nicht und löst keine Gruppen auf.
Künftige Änderungen lassen den aktuellen Intent laufen. Bei manuell deaktiviertem
Tagesplan muss für dessen spätere Ausführung `schedule <guid> on` verwendet werden.
Bereits begonnene vorgezogene Gruppenreisen werden durch künftige Änderungen nicht
zurückgesetzt. Die betroffene Anzahl und jeder übersprungene Bot werden ausgegeben.
## Klassischer Gruppentest
Zuerst die Ziele der Folgestunde setzen, dann die Gruppenbildungsphase. Beispiel
bei aktueller Stunde14: Gruppenbildung14–15, Aktivität15–16.
```
clientless adventure editplan all next instance-or-raid auto both 15 85 preview
clientless adventure editplan all next instance-or-raid auto both 15 85 apply
clientless adventure editplan all current groupformation capital both 15 85 preview
clientless adventure editplan all current groupformation capital both 15 85 apply
```
Für einen Test erst ab der nächsten Stunde die ersten beiden Befehle mit `next+1`
und die letzten beiden mit `next` verwenden. Bots ohne zulässiges Dungeon-/Raidziel
werden bei der Zielvergabe übersprungen; die Ausgabe vorher prüfen.
Weitere Beispiele:
```
clientless adventure editplan 26 current economy auto alliance 60 60 apply
clientless adventure editplan all 18-20 rest auto horde 1 40 preview
clientless adventure editplan all next keep poi_guard_22 alliance 15 85 preview
clientless adventure plan 26
clientless adventure schedule 26 on
```
Browserfreigaben werden von diesen Befehlen nicht verändert. Raid- und
Schlachtfeldbeitritt bleiben bei entsprechender Konfiguration deaktiviert.