---
services:
cs2-server:
image: eddmanoo/cs2:latest
container_name: cs2-dedicated-server
restart: unless-stopped
# Variabile de mediu pentru configurarea serverului
environment:
# Configurări de bază
- CS2_SERVERNAME=Server CS2 Dedicat Romania
- CS2_CHEATS=1
- CS2_IP=0.0.0.0
- CS2_SERVER_HIBERNATE=0
- CS2_PORT=27015
- CS2_RCON_PORT=27015
- CS2_MAXPLAYERS=20
- CS2_RCONPW=parola1234
- CS2_PW=
# Configurări hartă și gameplay
- CS2_MAPGROUP=mg_active
- CS2_STARTMAP=de_dust2
- CS2_GAMEALIAS=
- CS2_GAMETYPE=0
- CS2_GAMEMODE=1
- CS2_LAN=0
# Configurări TV/GOTV
- TV_AUTORECORD=0
- TV_ENABLE=1
- TV_PORT=27020
- TV_PW=tv_parola_123
- TV_RELAY_PW=relay_parola_123
- TV_MAXRATE=0
- TV_DELAY=90
# Token Steam pentru servere publice (IMPORTANT!)
- SRCDS_TOKEN=Steam_TOKEN
# URL pentru configurații personalizate (opțional)
- CS2_CFG_URL=
# Încarcă configurația de performanță
- CS2_ADDITIONAL_EXEC=performance.cfg
- CS2_ADDITIONAL_EXEC=bots.cfg
# Configurări logging
- CS2_LOG=on
- CS2_LOG_MONEY=1
- CS2_LOG_DETAIL=3
- CS2_LOG_ITEMS=1
# Configurări bot-uri
- CS2_BOT_DIFFICULTY=1
- CS2_BOT_QUOTA=11
- CS2_BOT_QUOTA_MODE=normal
# Workshop (opțional)
- CS2_HOST_WORKSHOP_COLLECTION=
- CS2_HOST_WORKSHOP_MAP=
# Argumente suplimentare pentru stabilitate și performanță
- CS2_ADDITIONAL_ARGS=-norestart -nobreakpad -tickrate 64 +sv_mincmdrate 64 +sv_minupdaterate 64
# Debug (0=off, 1=steamcmd, 2=cs2, 3=both)
- DEBUG=0
# Validarea fișierelor la pornire
- STEAMAPPVALIDATE=0
# Restart automat la crash
- RESTART_ON_EXIT=0
# Volume pentru persistența datelor
volumes:
- cs2_data:/home/steam/cs2-dedicated
- cs2_logs:/home/steam/cs2-dedicated/game/csgo/logs
- ./custom-configs:/custom-configs:ro
- ./custom-maps:/custom-maps:ro
- ./custom-addons:/custom-addons:ro
# Configurări de rețea
#network_mode: "host" # Pentru performanță optimă
# Alternativ, folosește bridge cu port mapping:
networks:
- cs2_network
ports:
- "27015:27015/tcp"
- "27015:27015/udp"
- "27020:27020/udp"
# Limitări de resurse (optimizat pentru 8GB RAM)
deploy:
resources:
limits:
memory: 4G
cpus: '3.0'
reservations:
memory: 1.5G
cpus: '2.0'
# Configurări de securitate
security_opt:
- no-new-privileges:true
# Configurări pentru logging
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "3"
# Health check
healthcheck:
test: ["CMD", "netstat", "-an", "|", "grep", ":27015"]
interval: 30s
timeout: 10s
retries: 3
start_period: 120s
# Volume pentru persistența datelor
volumes:
cs2_data:
driver: local
driver_opts:
type: none
o: bind
device: ./data/cs2-server
cs2_logs:
driver: local
driver_opts:
type: none
o: bind
device: ./data/logs
# Rețea personalizată (dacă nu folosești host mode)
networks:
cs2_network:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/16
Pentru ca comenzile /admin și !admin să funcționeze, trebuie să instalezi următoarele plugin-uri în această ordine:
AnyBaseLibCS2.zip# Dezarhivează și copiază în container
docker cp AnyBaseLibCS2/ cs2-dedicated-server:/home/steam/cs2-dedicated/game/csgo/addons/counterstrikesharp/plugins/
PlayerSettings.zipdocker cp PlayerSettings/ cs2-dedicated-server:/home/steam/cs2-dedicated/game/csgo/addons/counterstrikesharp/plugins/
MenuManagerCS2.zipdocker cp MenuManagerCS2/ cs2-dedicated-server:/home/steam/cs2-dedicated/game/csgo/addons/counterstrikesharp/plugins/
CS2-SimpleAdmin.zipdocker cp CS2-SimpleAdmin/ cs2-dedicated-server:/home/steam/cs2-dedicated/game/csgo/addons/counterstrikesharp/plugins/
Descarcă toate plugin-urile de la link-urile de mai sus
Dezarhivează fiecare în directoare separate
Copiază în container:
cd ~/Downloads # sau unde ai descărcat fișierele
# Copiază fiecare plugin
docker cp AnyBaseLibCS2/ cs2-dedicated-server:/home/steam/cs2-dedicated/game/csgo/addons/counterstrikesharp/plugins/
docker cp PlayerSettings/ cs2-dedicated-server:/home/steam/cs2-dedicated/game/csgo/addons/counterstrikesharp/plugins/
docker cp MenuManagerCS2/ cs2-dedicated-server:/home/steam/cs2-dedicated/game/csgo/addons/counterstrikesharp/plugins/
docker cp CS2-SimpleAdmin/ cs2-dedicated-server:/home/steam/cs2-dedicated/game/csgo/addons/counterstrikesharp/plugins/
Repornește serverul:
docker-compose restart cs2-server
Creează directorul local pentru plugin-uri:
mkdir -p ~/docker/cs2/custom-addons/counterstrikesharp/plugins
Descarcă și dezarhivează toate plugin-urile în acest director
Structura ar trebui să arate așa:
~/docker/cs2/custom-addons/counterstrikesharp/plugins/
├── AnyBaseLibCS2/
├── PlayerSettings/
├── MenuManagerCS2/
└── CS2-SimpleAdmin/
Repornește serverul - docker-compose.yml este deja configurat să monteze ./custom-addons
După prima pornire, editează fișierul de configurare:
docker exec cs2-dedicated-server cat /home/steam/cs2-dedicated/game/csgo/addons/counterstrikesharp/configs/plugins/CS2-SimpleAdmin/CS2-SimpleAdmin.json
Configurează conexiunea MySQL sau SQLite.
# Verifică dacă plugin-urile sunt instalate
docker exec cs2-dedicated-server ls -la /home/steam/cs2-dedicated/game/csgo/addons/counterstrikesharp/plugins/
# Verifică log-urile pentru erori
docker logs cs2-dedicated-server | grep -i "simpleadmin\|playersettings\|menumanager"
Conectează-te la server și rulează în consolă:
css_admin
Sau în chat:
!admin
/admin
După instalare, vei avea acces la:
css_admin / !admin / /admin - Meniu admin principalcss_ban <player> <duration> <reason> - Ban jucătorcss_kick <player> <reason> - Kick jucătorcss_slay <player> - Ucide jucătorcss_map <mapname> - Schimbă hartacss_rcon <command> - Execută comandă RCONdocker logs cs2-dedicated-server | tail -100
admins.jsonadmin_groups.jsonCS2-SimpleAdmin.jsonPentru mai multe detalii, vizitează:
Content type
Image
Digest
sha256:e015fa613…
Size
527.2 MB
Last updated
11 months ago
docker pull eddmanoo/cs2