Files
Cs2-Mapveto/server/config/map-pools.json
T
mregosar f08297dd0d Backend: Match-Lobbys, Map-Veto, Echtzeit und CS2-Serveradapter
Express + Socket.IO + SQLite. Veto-Engine mit konfigurierbaren Map-Pools
und validierten Abläufen, rollenbasierte Berechtigungen, Server-Lebenszyklus
mit Demo-, Docker- und Static-Pool-Adapter (RCON), automatisches Herunterfahren.
2026-10-25 16:50:22 +01:00

42 lines
1.9 KiB
JSON

{
"$comment": "Map-Pools und Veto-Abläufe. Schritte: ban:X, pick:X, side:X, decider. X = erstes Team (startet das Veto), Y = zweites Team. 'side' folgt immer auf einen Pick bzw. auf 'decider' und bezieht sich auf diese Map. Ungültige Abläufe werden beim Start gemeldet und das Format ist dann nicht auswählbar.",
"pools": {
"competitive": {
"label": "Competitive 5 gegen 5",
"teamSize": 5,
"gameType": 0,
"gameMode": 1,
"maps": [
{ "id": "de_ancient", "name": "Ancient", "color": "#3f8f5a" },
{ "id": "de_anubis", "name": "Anubis", "color": "#c79a3d" },
{ "id": "de_dust2", "name": "Dust II", "color": "#d3a45c" },
{ "id": "de_inferno", "name": "Inferno", "color": "#c4573a" },
{ "id": "de_mirage", "name": "Mirage", "color": "#b98a4a" },
{ "id": "de_nuke", "name": "Nuke", "color": "#4a8fbf" },
{ "id": "de_train", "name": "Train", "color": "#7a7f8a" }
],
"flows": {
"bo1": ["ban:X", "ban:Y", "ban:X", "ban:Y", "ban:X", "ban:Y", "decider", "side:X"],
"bo3": ["ban:X", "ban:Y", "pick:X", "side:Y", "pick:Y", "side:X", "ban:X", "ban:Y", "decider", "side:X"],
"bo5": ["ban:X", "ban:Y", "pick:X", "side:Y", "pick:Y", "side:X", "pick:X", "side:Y", "pick:Y", "side:X", "decider", "side:Y"]
}
},
"wingman": {
"label": "Wingman 2 gegen 2",
"teamSize": 2,
"gameType": 0,
"gameMode": 2,
"maps": [
{ "id": "de_inferno", "name": "Inferno", "color": "#c4573a" },
{ "id": "de_nuke", "name": "Nuke", "color": "#4a8fbf" },
{ "id": "de_overpass", "name": "Overpass", "color": "#5f8f7a" },
{ "id": "de_vertigo", "name": "Vertigo", "color": "#8a74b8" }
],
"flows": {
"bo1": ["ban:X", "ban:Y", "ban:X", "decider", "side:Y"],
"bo3": ["ban:X", "pick:Y", "side:X", "pick:X", "side:Y", "decider", "side:X"]
}
}
}
}