Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Worshop maps support #57

Open
xe1os opened this issue Nov 7, 2023 · 35 comments · Fixed by #128
Open

Worshop maps support #57

xe1os opened this issue Nov 7, 2023 · 35 comments · Fixed by #128
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@xe1os
Copy link

xe1os commented Nov 7, 2023

Hi,

Would like to have workshop maps support functionality.

Thank you

@DizzyThermal
Copy link

DizzyThermal commented Nov 7, 2023

#47

The host can run:

host_workshop_map 12313123

Where 12313123 is the ID of the workshop map (in the URL)

@matiargs
Copy link

matiargs commented Nov 10, 2023

I was testing the workshops maps, and it works perfect with the host_workshop_map. I'm running that from rcon when the server start. Is there a way to auto load the workshops maps? Because if I don't set host_workshop_map when I try to changelevel the servers says "invalid map name".

@dmiales
Copy link

dmiales commented Nov 10, 2023

@matiargs @DizzyThermal
hi, please show me your docker-compose.yml with an example where any workshop map works. I tried everything possible.

@DizzyThermal
Copy link

@matiargs @DizzyThermal hi, please show me your docker-compose.yml with an example where any workshop map works. I tried everything possible.

I use:
CS2_ADDITIONAL_ARGS="+host_workshop_map <id>"

@joedwards32 joedwards32 added the documentation Improvements or additions to documentation label Nov 11, 2023
@dmiales
Copy link

dmiales commented Nov 11, 2023

Oh, here's the funny thing, as soon as I add a pool of cards, everything breaks. And if only host_workshop_map - everything works.

- CS2_ADDITIONAL_ARGS="+host_workshop_map 3075706807 +host_workshop_collection 2428398726" does not work
- CS2_ADDITIONAL_ARGS="+host_workshop_map 3075706807" works

@yannickvr
Copy link

yannickvr commented Nov 18, 2023

Oh, here's the funny thing, as soon as I add a pool of cards, everything breaks. And if only host_workshop_map - everything works.

- CS2_ADDITIONAL_ARGS="+host_workshop_map 3075706807 +host_workshop_collection 2428398726" does not work - CS2_ADDITIONAL_ARGS="+host_workshop_map 3075706807" works

I had this issue as well. Not sure what is the exact reason, but if I move "${CS2_ADDITIONAL_ARGS}" in entry.sh to somewhere higher, so other parameters are pushed after, this solves the issue. E.g.:

eval "./cs2" -dedicated \
        "${CS2_IP_ARGS}" -port "${CS2_PORT}" \
        -console \
        -usercon \
        -maxplayers "${CS2_MAXPLAYERS}" \
        "${CS2_GAME_MODE_ARGS}" \
        +mapgroup "${CS2_MAPGROUP}" \
        +map "${CS2_STARTMAP}" \
        +rcon_password "${CS2_RCONPW}" \
        +sv_password "${CS2_PW}" \
        "${CS2_ADDITIONAL_ARGS}" \ <<--- this used to be last
        +sv_lan "${CS2_LAN}"

@JoSchaap
Copy link

asking here before posting it as an issue just to make sure there are more with this issue; if not it might be the 3 collections i tried.

when using +host_workshop_collection XXX all players are disconnected (they actually just lose connection) on mapchange to the next workshop map. also at round end it first reloads the map it was already on before switching to the next one..

@matiargs
Copy link

I've been reading some forums and the discussion page in steam, and there's some problem with the dedicated server and the workshops collection. We need to wait the fix from Valve sides.

At the moment, I'm setting up a server with a default map (de_dust2) and when the server is up, I use rcon to send the command to host_workshop_collection XXXXXX, and then send the command to changelevel XXXXX to a level from that collection, and is working ok. When the map ends, the server gives you the options to vote with the maps from the collection. This solution works for me.

I couldn't make it work with the CS2_ADDITIONAL_ARGS.

@dmiales
Copy link

dmiales commented Nov 30, 2023

@matiargs
изображение
Why does this console command work for you?

host_workshop_collection 3070959270
host_workshop_collection 2428398726

https://steamcommunity.com/sharedfiles/filedetails/?id=3070959270
https://steamcommunity.com/sharedfiles/filedetails/?id=2428398726

@dmiales
Copy link

dmiales commented Nov 30, 2023

@yannickvr
It didn’t work out for me, I changed two lines, as you advised, but there was no result. Can you please attach your docker composer file (removing all confidential data). Particularly interesting are ID cards and groups

@JoSchaap
Copy link

JoSchaap commented Nov 30, 2023

host_workshop_collection itself works well but on first load you'll need to be patient as it needs to download the maps. (also dont forget your -authkey ;)
mapgroup can be set to workshop

the only thing that is broken is the cycling between workshop maps in your collection.
It tends to stick on the first map in the collection end of round. players voting for the next map in cycle does work though, endround mapvote does not.

if you have a small collection and it still refuses to load. start small with 1 or 2 maps in it and gradually add maps + restart server big chance one of the maps in the collection is broken or not for cs2 ;)

@dmiales
Copy link

dmiales commented Nov 30, 2023

@JoSchaap Can you also please attach your docker composer file

@Hannes-Beckmann
Copy link

Hannes-Beckmann commented Dec 7, 2023

When I set a workshop map and try to join the server, I get a segmentation fault

Below the error message:

cs2-dedicated  | Server waking up from hibernation
cs2-dedicated  | Sending S2C_CONNECTION to xxxxxxx:55241 [addons:'3072739628']
cs2-dedicated  | Client #0 "PlayerName" connected @xxxxxxx:55241
cs2-dedicated  | entry.sh: line 84:    34 Segmentation fault      (core dumped) ./cs2 -dedicated -ip 0.0.0.0 -port 27015 -console -usercon -maxplayers 12 +game_type 1 +game_mode 2 +mapgroup mg_active +map de_inferno +rcon_password xxxpass +sv_setsteamaccount XXX +sv_password xxxpass +sv_lan 0 "+host_workshop_map 3072739628" 

Has anyone experienced similar issues and knows of a fix?

I don't know if it is releveant but when I join the server hosting a standard map, the second time I join the server, it also segfaults:

cs2-dedicated  | [#3768413248 UDP steamid:xxxxx@xxxx:64489] recv queue overflow 1000 messages already queued.
cs2-dedicated  | [#3768413248 UDP steamid:xxxxx@xxxx:64489] recv queue overflow 1000 messages already queued.
cs2-dedicated  | [#3768413248 UDP steamid:xxxxx@xxxx:64489] recv queue overflow 1000 messages already queued.
cs2-dedicated  | WatchDog! Server took too long to process (probably infinite loop)
cs2-dedicated  | Watchdog timeout exceeded, exiting
cs2-dedicated  |  0 Watchdog timeout exceeded, exiting
cs2-dedicated  |
cs2-dedicated  | entry.sh: line 84:    48 Segmentation fault      (core dumped) ./cs2 -dedicated -ip 0.0.0.0 -port 27015 -console -usercon -maxplayers 12 +game_type 1 +game_mode 2 +mapgroup mg_active +map de_inferno +rcon_password passxxx +sv_setsteamaccount xxxx +sv_password passxxx +sv_lan 0

@ComputersWithTimo
Copy link

@Hannes-Beckmann

cs2-dedicated | [#3768413248 UDP steamid:xxxxx@xxxx:64489] recv queue overflow 1000 messages already queued.
cs2-dedicated | [#3768413248 UDP steamid:xxxxx@xxxx:64489] recv queue overflow 1000 messages already queued.
cs2-dedicated | [#3768413248 UDP steamid:xxxxx@xxxx:64489] recv queue overflow 1000 messages already queued.
cs2-dedicated | WatchDog! Server took too long to process (probably infinite loop)
cs2-dedicated | Watchdog timeout exceeded, exiting
cs2-dedicated | 0 Watchdog timeout exceeded, exiting
cs2-dedicated |
cs2-dedicated | entry.sh: line 84: 48 Segmentation fault (core dumped) ./cs2 -dedicated -ip 0.0.0.0 -port 27015 -console -usercon -maxplayers 12 +game_type 1 +game_mode 2 +mapgroup mg_active +map de_inferno +rcon_password passxxx +sv_setsteamaccount xxxx +sv_password passxxx +sv_lan 0

I'm gonna guess your system is overloaded. Please make sure to have at least 2GB of free RAM and 2 CPU cores.
Also check your file system (fsck)

For me, the server uses around 1.1 gigs when no player is connected.

@Hannes-Beckmann
Copy link

@ComputersWithTimo
I am running the server on a dedicated machine with Proxmox in a Ubuntu Server virtual machine. I have upgraded the RAM from 8GB to 16GB and the CPU cores from 4 cores to 8 cores. Now, the server is up and running, and I can successfully play workshop maps. Thank you for your help!

@joedwards32
Copy link
Owner

When I set a workshop map and try to join the server, I get a segmentation fault

Below the error message:

cs2-dedicated  | Server waking up from hibernation
cs2-dedicated  | Sending S2C_CONNECTION to xxxxxxx:55241 [addons:'3072739628']
cs2-dedicated  | Client #0 "PlayerName" connected @xxxxxxx:55241
cs2-dedicated  | entry.sh: line 84:    34 Segmentation fault      (core dumped) ./cs2 -dedicated -ip 0.0.0.0 -port 27015 -console -usercon -maxplayers 12 +game_type 1 +game_mode 2 +mapgroup mg_active +map de_inferno +rcon_password xxxpass +sv_setsteamaccount XXX +sv_password xxxpass +sv_lan 0 "+host_workshop_map 3072739628" 

Has anyone experienced similar issues and knows of a fix?

I don't know if it is releveant but when I join the server hosting a standard map, the second time I join the server, it also segfaults:

cs2-dedicated  | [#3768413248 UDP steamid:xxxxx@xxxx:64489] recv queue overflow 1000 messages already queued.
cs2-dedicated  | [#3768413248 UDP steamid:xxxxx@xxxx:64489] recv queue overflow 1000 messages already queued.
cs2-dedicated  | [#3768413248 UDP steamid:xxxxx@xxxx:64489] recv queue overflow 1000 messages already queued.
cs2-dedicated  | WatchDog! Server took too long to process (probably infinite loop)
cs2-dedicated  | Watchdog timeout exceeded, exiting
cs2-dedicated  |  0 Watchdog timeout exceeded, exiting
cs2-dedicated  |
cs2-dedicated  | entry.sh: line 84:    48 Segmentation fault      (core dumped) ./cs2 -dedicated -ip 0.0.0.0 -port 27015 -console -usercon -maxplayers 12 +game_type 1 +game_mode 2 +mapgroup mg_active +map de_inferno +rcon_password passxxx +sv_setsteamaccount xxxx +sv_password passxxx +sv_lan 0

Server hibernation seems to cause this. I tested CS2 outside of the docker container and the same segfault occurs, so it looks like a CS2 on Linux bug.

I'm looking at introducing a change to the default server.cfg to make hibernation configurable and have it disabled by default.

@labaland
Copy link

@matiargs изображение Why does this console command work for you?

host_workshop_collection 3070959270 host_workshop_collection 2428398726

https://steamcommunity.com/sharedfiles/filedetails/?id=3070959270 https://steamcommunity.com/sharedfiles/filedetails/?id=2428398726

Where do you type that message? What program? is it in portainer? if yes, how? :)

@matiargs
Copy link

Where do you type that message? What program? is it in portainer? if yes, how? :)

I send the command from RCON. You can use this tool https://github.com/gorcon/rcon-cli.

@labaland
Copy link

Is it not possible to fix this an easy way yet? if yes, what to add in docker-compose?

@domve
Copy link

domve commented Jul 23, 2024

In case anyone is still having issues with map rotation using host_workshop_collection one quick look at the logs reveals exactly what the problem is

CHANGELEVEL: Not changing level, mp_match_end_restart is false, mp_match_end_changelevel is false and next is the same

Once mp_match_end_changelevel is set, workshop collections work just fine for me

environment:
  CS2_STARTMAP: "\\<empty\\>"
  CS2_MAPGROUP: workshop
  CS2_ADDITIONAL_ARGS: "+host_workshop_collection <id> +mp_match_end_changelevel true"

@joedwards32
Copy link
Owner

joedwards32 commented Aug 29, 2024

In case anyone is still having issues with map rotation using host_workshop_collection one quick look at the logs reveals exactly what the problem is

CHANGELEVEL: Not changing level, mp_match_end_restart is false, mp_match_end_changelevel is false and next is the same

Once mp_match_end_changelevel is set, workshop collections work just fine for me

environment:
  CS2_STARTMAP: "\\<empty\\>"
  CS2_MAPGROUP: workshop
  CS2_ADDITIONAL_ARGS: "+host_workshop_collection <id> +mp_match_end_changelevel true"

I've been experimenting with this and I don't get any options to vote on maps or automatic rotation to other maps in the collection, even with +mp_match_end_changelevel true

What behaviour do you see @domve? Can you vote on map changes etc?

Did you define the mapgroup workshop yourself in config?

@joedwards32 joedwards32 linked a pull request Aug 30, 2024 that will close this issue
@joedwards32 joedwards32 self-assigned this Aug 30, 2024
@joedwards32 joedwards32 pinned this issue Aug 30, 2024
@joedwards32 joedwards32 reopened this Sep 1, 2024
@joedwards32
Copy link
Owner

Keeping issue open. Support is experimental currently.

@M-archand
Copy link

I'm getting theses errors when trying to use the new env options:

[S_API FAIL] Tried to access Steam interface SteamUtils010 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface SteamUser023 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface SteamUtils010 before SteamAPI_Init succeeded.

@M-archand
Copy link

Has anyone been able to get the new CS2_HOST_WORKSHOP_COLLECTION and CS2_HOST_WORKSHOP_MAP env variables to work?

Did you test this yourself by chance @joedwards32 ?

@joedwards32
Copy link
Owner

I did test myself in my dev environment and I'm right now waiting for a test container to spin up on AWS Fargate. Will post here with the result.

@joedwards32
Copy link
Owner

Screenshot from 2024-09-05 21-54-31

@joedwards32
Copy link
Owner

Here's my docker compose file from dev environment

services:
  cs2-server:
    image: joedwards32/cs2
    container_name: cs2
    environment:
      # Server configuration
      - SRCDS_TOKEN=**************                 # Game Server Token from https://steamcommunity.com/dev/managegameservers
      - STEAMAPPVALIDATE=0
      - CS2_SERVERNAME=changeme     # (Set the visible name for your private server)
      - CS2_CHEATS=0                # (0 - disable cheats, 1 - enable cheats)
      - CS2_PORT=27015              # (CS2 server listen port tcp_udp)
      - CS2_SERVER_HIBERNATE=0      # (Put server in a low CPU state when there are no players. 0 - hibernation disabled, 1 - hibernation enabled)
      - CS2_RCON_PORT               # (Optional, use a simple TCP proxy to have RCON listen on an alternative port. Useful for services like AWS Fargate which do not support mixed protocol ports.)
      - CS2_LAN=0                   # (0 - LAN mode disabled, 1 - LAN Mode enabled)
      - CS2_RCONPW=changeme         # (RCON password)
      - CS2_PW=changeme             # (CS2 server password)
      - CS2_MAXPLAYERS=11           # (Max players)
      # Game mode
      - CS2_GAMETYPE=0              # (Used if CS2_GAMEALIAS not defined. See https://developer.valvesoftware.com/wiki/Counter-Strike_2/Dedicated_Servers)
      - CS2_GAMEMODE=1              # (Used if CS2_GAMEALIAS not defined. See https://developer.valvesoftware.com/wiki/Counter-Strike_2/Dedicated_Servers)
      # Workshop Maps
      - CS2_HOST_WORKSHOP_COLLECTION=3320315839 # The workshop collection to use
      - CS2_HOST_WORKSHOP_MAP=3276886893        # The workshop map to use. If collection is also defined, this is the starting map.
      # Bots
      - CS2_BOT_DIFFICULTY=2        # (0 - easy, 1 - normal, 2 - hard, 3 - expert)
      - CS2_BOT_QUOTA=11             # (Number of bots)
      # TV
      - TV_AUTORECORD=0             # Automatically records all games as CSTV demos: 0=off, 1=on.
      - TV_ENABLE=0                 # Activates CSTV on server: 0=off, 1=on.
      - TV_PORT=27020               # Host SourceTV port
      - TV_PW=changeme              # CSTV password for clients
      - TV_RELAY_PW=changeme        # CSTV password for relay proxies
      - TV_MAXRATE=0                # World snapshots to broadcast per second. Affects camera tickrate.
      - TV_DELAY=0                  # Max CSTV spectator bandwidth rate allowed, 0 == unlimited
      # Logs
      - CS2_LOG=on                  # 'on'/'off'
      - CS2_LOG_MONEY=1             # Turns money logging on/off: (0=off, 1=on)
      - CS2_LOG_DETAIL=1            # Combat damage logging: (0=disabled, 1=enemy, 2=friendly, 3=all)
      - CS2_LOG_ITEMS=1             # Turns item logging on/off: (0=off, 1=on)
    volumes:
      - cs2:/home/steam/cs2-dedicated/  # Persistent data volume mount point inside container
    ports:
      - "27015:27015/tcp"           # TCP
      - "27015:27015/udp"           # UDP
      - "27020:27020/udp"           # UDP
volumes:
  cs2:

@joedwards32
Copy link
Owner

And some rcon output from that running server

$ ./csgo-rcon-v1.3.0-linux-amd64 -a 192.168.0.31:27015 -p changeme status
Server:  Running [0.0.0.0:27015]
Client:  Disconnected
----- Status -----
@ Current  :  game
source   : console
hostname : changeme
spawn    : 3
version  : 1.40.3.0/14030 10072 secure  public
steamid  : [G:1:10988532] (85568392931027956)
udp/ip   : 0.0.0.0:27015 (public 109.156.218.170:27015)
os/type  : Linux dedicated
players  : 0 humans, 0 bots (0 max) (not hibernating) (unreserved)
---------spawngroups----
loaded spawngroup(  1)  : SV:  [1: de_biome | main lump | mapload]
loaded spawngroup(  2)  : SV:  [2: maps/de_biome_skybox | main lump | mapload | point_prefab]
loaded spawngroup(  3)  : SV:  [3: prefabs/misc/counterterrorist_team_intro | main lump | mapload | point_prefab]
loaded spawngroup(  4)  : SV:  [4: prefabs/misc/terrorist_team_intro | main lump | mapload | point_prefab]
loaded spawngroup(  5)  : SV:  [5: prefabs/misc/end_of_match | main lump | mapload | point_prefab]
loaded spawngroup(  6)  : SV:  [6: prefabs/misc/team_select | main lump | mapload | point_prefab]
---------players--------
  id     time ping loss      state   rate adr name
#end

$ ./csgo-rcon-v1.3.0-linux-amd64 -a 192.168.0.31:27015 -p changeme ds_workshop_listmaps
de_biome
de_vertigo_45

@joedwards32
Copy link
Owner

And a working AWS ECS/Fargate example:

{
    "taskDefinitionArn": "arn:aws:ecs:eu-west-1:**********:task-definition/cs2:72",
    "containerDefinitions": [
        {
            "name": "cs2-container",
            "image": "joedwards32/cs2:latest",
            "cpu": 0,
            "portMappings": [
                {
                    "containerPort": 27015,
                    "hostPort": 27015,
                    "protocol": "udp"
                },
                {
                    "containerPort": 27016,
                    "hostPort": 27016,
                    "protocol": "tcp"
                },
                {
                    "containerPort": 27020,
                    "hostPort": 27020,
                    "protocol": "udp"
                }
            ],
            "essential": true,
            "environment": [
                {
                    "name": "CS2_RCONPW",
                    "value": "changeme"
                },
                {
                    "name": "CS2_RCON_PORT",
                    "value": "27016"
                },
                {
                    "name": "SRCDS_TOKEN",
                    "value": "**********"
                },
                {
                    "name": "CS2_HOST_WORKSHOP_COLLECTION",
                    "value": "3320315839"
                },
                {
                    "name": "CS2_GAMETYPE",
                    "value": "0"
                },
                {
                    "name": "TV_PW",
                    "value": "changeme"
                },
                {
                    "name": "CS2_GAMEMODE",
                    "value": "1"
                },
                {
                    "name": "TV_ENABLE",
                    "value": "1"
                },
                {
                    "name": "CS2_BOT_DIFFICULTY",
                    "value": "2"
                },
                {
                    "name": "CS2_BOT_QUOTA",
                    "value": "11"
                },
                {
                    "name": "CS2_HOST_WORKSHOP_MAP",
                    "value": "3276886893"
                },
                {
                    "name": "CS2_PW",
                    "value": "changeme"
                },
                {
                    "name": "CS2_MAXPLAYERS",
                    "value": "11"
                }
            ],
            "mountPoints": [],
            "volumesFrom": [],
            "logConfiguration": {
                "logDriver": "awslogs",
                "options": {
                    "awslogs-group": "/simple-gaming-service/cs2",
                    "awslogs-region": "eu-west-1",
                    "awslogs-stream-prefix": "streaming"
                }
            },
            "systemControls": []
        }
    ],
    "family": "cs2",
    "executionRoleArn": "arn:aws:iam::**********:role/ecs-sgs-2d6",
    "networkMode": "awsvpc",
    "revision": 72,
    "volumes": [],
    "status": "ACTIVE",
    "requiresAttributes": [
        {
            "name": "com.amazonaws.ecs.capability.logging-driver.awslogs"
        },
        {
            "name": "ecs.capability.execution-role-awslogs"
        },
        {
            "name": "com.amazonaws.ecs.capability.docker-remote-api.1.19"
        },
        {
            "name": "ecs.capability.extensible-ephemeral-storage"
        },
        {
            "name": "com.amazonaws.ecs.capability.docker-remote-api.1.18"
        },
        {
            "name": "ecs.capability.task-eni"
        }
    ],
    "placementConstraints": [],
    "compatibilities": [
        "EC2",
        "FARGATE"
    ],
    "requiresCompatibilities": [
        "FARGATE"
    ],
    "cpu": "2048",
    "memory": "4096",
    "ephemeralStorage": {
        "sizeInGiB": 50
    },
    "registeredAt": "2024-09-05T19:23:25.426Z",
    "registeredBy": "arn:aws:iam::**********:user/terraform",
    "tags": []
}

@galinette-34
Copy link
Contributor

Here's my docker compose file from dev environment

services:
  cs2-server:
    image: joedwards32/cs2
    container_name: cs2
    environment:
      # Server configuration
      - SRCDS_TOKEN=**************                 # Game Server Token from https://steamcommunity.com/dev/managegameservers
      - STEAMAPPVALIDATE=0
      - CS2_SERVERNAME=changeme     # (Set the visible name for your private server)
      - CS2_CHEATS=0                # (0 - disable cheats, 1 - enable cheats)
      - CS2_PORT=27015              # (CS2 server listen port tcp_udp)
      - CS2_SERVER_HIBERNATE=0      # (Put server in a low CPU state when there are no players. 0 - hibernation disabled, 1 - hibernation enabled)
      - CS2_RCON_PORT               # (Optional, use a simple TCP proxy to have RCON listen on an alternative port. Useful for services like AWS Fargate which do not support mixed protocol ports.)
      - CS2_LAN=0                   # (0 - LAN mode disabled, 1 - LAN Mode enabled)
      - CS2_RCONPW=changeme         # (RCON password)
      - CS2_PW=changeme             # (CS2 server password)
      - CS2_MAXPLAYERS=11           # (Max players)
      # Game mode
      - CS2_GAMETYPE=0              # (Used if CS2_GAMEALIAS not defined. See https://developer.valvesoftware.com/wiki/Counter-Strike_2/Dedicated_Servers)
      - CS2_GAMEMODE=1              # (Used if CS2_GAMEALIAS not defined. See https://developer.valvesoftware.com/wiki/Counter-Strike_2/Dedicated_Servers)
      # Workshop Maps
      - CS2_HOST_WORKSHOP_COLLECTION=3320315839 # The workshop collection to use
      - CS2_HOST_WORKSHOP_MAP=3276886893        # The workshop map to use. If collection is also defined, this is the starting map.
      # Bots
      - CS2_BOT_DIFFICULTY=2        # (0 - easy, 1 - normal, 2 - hard, 3 - expert)
      - CS2_BOT_QUOTA=11             # (Number of bots)
      # TV
      - TV_AUTORECORD=0             # Automatically records all games as CSTV demos: 0=off, 1=on.
      - TV_ENABLE=0                 # Activates CSTV on server: 0=off, 1=on.
      - TV_PORT=27020               # Host SourceTV port
      - TV_PW=changeme              # CSTV password for clients
      - TV_RELAY_PW=changeme        # CSTV password for relay proxies
      - TV_MAXRATE=0                # World snapshots to broadcast per second. Affects camera tickrate.
      - TV_DELAY=0                  # Max CSTV spectator bandwidth rate allowed, 0 == unlimited
      # Logs
      - CS2_LOG=on                  # 'on'/'off'
      - CS2_LOG_MONEY=1             # Turns money logging on/off: (0=off, 1=on)
      - CS2_LOG_DETAIL=1            # Combat damage logging: (0=disabled, 1=enemy, 2=friendly, 3=all)
      - CS2_LOG_ITEMS=1             # Turns item logging on/off: (0=off, 1=on)
    volumes:
      - cs2:/home/steam/cs2-dedicated/  # Persistent data volume mount point inside container
    ports:
      - "27015:27015/tcp"           # TCP
      - "27015:27015/udp"           # UDP
      - "27020:27020/udp"           # UDP
volumes:
  cs2:

Still needs the "authkey" to access the workshop collection, right?

environment:
  - CS2_ADDITIONAL_ARGS=-authkey *********

or

environment:
  CS2_ADDITIONAL_ARGS: "-authkey *********"

@joedwards32
Copy link
Owner

Doesn't seem to be required. My examples work without it.

@galinette-34
Copy link
Contributor

Doesn't seem to be required. My examples work without it.

you're right, it also works for me without the authkey.

@M-archand
Copy link

I'm not sure what my issue was, unfortunately wasn't able to figure it out. However, after backing up my CFG files and wiping my persistent file path and doing a fresh install the workshop related variables now work as expected 👍

@freekode
Copy link

freekode commented Oct 22, 2024

How can I host both default maps and workshop maps using mapgroups?
Also seems voting for workshop maps doesn't work, I tested different collections, different maps. And the map just don't switch from current to workshop map. Although voting and switching between default maps working well.

@joedwards32
Copy link
Owner

How can I host both default maps and workshop maps using mapgroups? Also seems voting for workshop maps doesn't work, I tested different collections, different maps. And the map just don't switch from current to workshop map. Although voting and switching between default maps working well.

I had similar issues when testing and I don't have a solution yet.

If anyone figures it out, please comment :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.