kus / cs2-modded-server

Modded Counter Strike 2 (CS2) Dedicated Server with Metamod and CounterStrikeSharp for Windows and Linux that can automatically be setup on Google Cloud.
GNU Lesser General Public License v3.0
370 stars 74 forks source link

[Bug]: #35

Closed TommyGx closed 6 months ago

TommyGx commented 10 months ago

Server is up to date

I've followed the instructions

Game Server Login Token

Operating System

Linux Debian 11

Which mod are you playing

Surf

Are you trying to host online or on LAN?

Online off a machine on my local network

Metamod:Source Version

Command sent: meta version Response: Metamod:Source Version Information Metamod:Source version 2.0.0-dev+1278 Plugin interface version: 16:14 SourceHook version: 5:5 Loaded As: GameDLL (gameinfo.txt) Compiled on: Dec 18 2023 16:34:52 Built from: https://github.com/alliedmodders/metamod-source/commit/6b8ae69 Build ID: 1278:6b8ae69 http://www.metamodsource.net/

Metamod:Source Plugins loaded

Command sent: meta list Response: Listing 1 plugin: [01] CounterStrikeSharp (0.1.0) by Roflmuffin

CounterStrikeSharp Version

Command sent: css Response: CounterStrikeSharp was created and is maintained by Michael "roflmuffin" Wilson. Counter-Strike Sharp uses code borrowed from SourceMod, Source.Python, FiveM, Saul Rennison, source2gen and CS2Fixes. See ACKNOWLEDGEMENTS.md for more information. Current API Version: 142

CounterStrikeSharp Plugins loaded

Command sent: css_plugins list Response: List of all plugins currently loaded by CounterStrikeSharp: 6 plugins loaded. [#1:LOADED]: "BasicAdmin" (1.7.0) by livevilog [#2:LOADED]: "CS2-Ultimate-Mapchooser" (1.0.0) by Kus (https://steamcommunity.com/id/kus/) The Ultimate Mapchooser for CS2! [#3:LOADED]: "CS2_ExecAfter" (1.0.0) by Kus (https://github.com/kus) Executes a command after server event or a delay. exec_after for help [#4:LOADED]: "SimpleAdmin" (0.1.2) [#5:LOADED]: "[Custom] Map Configurator" (V. 1.0.2 [Beta]) by Manifest @Road To Glory Allow server owners to easily create unique configuration files on a per map basis. [#6:LOADED]: "CS2Rcon" (1.2.0) by LordFetznschaedl Allows for server commands to be executed from the client using !rcon

What is the bug

In addition to the other discussion topic i opened i have another problem with the surf stuff.

When i joined my server later today after it has been running for a while with not a lot of active players, it actually ended the round and started a voting. But on that voting i only could see the full steam workshop links as they're listed in the gamemodes_server.txt, but abridged since the names were too long. Sadly i weren't quick enough to take a picture of that. When i tried to vote it didn't work. And then the server tried to switch the map it looked like and crashed.

I run the whole thing as a docker, but i think that should be no problem. I also have the install script as the entrypoint file so that it boots up with updating before it starts. Starting the thing up and executing the surf exec file is no problem. But after that i can neither change the map by an alias nor does the voting work.

Game console output

No response

Server log output

2024-01-04T00:46:46.919672761Z Sending S2C_CHALLENGE [0 auth 3] to <ipadress>
2024-01-04T00:46:46.919688457Z Receiving C2S_CONNECT [protocol 13983 0 auth 3] from <ipadress>
2024-01-04T00:46:46.919702692Z CNetworkGameServerBase::ConnectClient( name='Tommy Tomcat', remote='<ipadress>' )
2024-01-04T00:47:06.729098131Z Creating NAdded player Tommy Tomcat with UserID 3 to connectedPlayers
2024-01-04T00:47:12.198521414Z 00:47:12.198 [CS2-Ultimate-Mapchooser] delay: mp_match_restart_delay (25) - mp_win_panel_display_time (3) - 1 = 21 seconds to vote
2024-01-04T00:47:12.198576461Z 00:47:12.198 [CS2-Ultimate-Mapchooser] Changing map to: surf_mesa_revo #3076980482 in 21 seconds
2024-01-04T00:47:33.261475926Z 00:47:33.261 [CS2-Ultimate-Mapchooser] host_workshop_map 3076980482
2024-01-04T00:47:34.248684692Z etChan for user 3 'Tommy Tomcat' @ <ipadress>
2024-01-04T00:47:34.248734695Z Associating NetChan Tommy Tomcat    <ipadress>[1] (<ipadress>) with Steam Net Connection handle #2441247742 (userdata 1)
2024-01-04T00:47:34.248755562Z CServerSideClientBase::Connect( name='Tommy Tomcat', userid=3, fake=0, chan->addr=|<ipadress>)
2024-01-04T00:47:34.248773514Z Client 3 'Tommy Tomcat' signon state SIGNONSTATE_NONE -> SIGNONSTATE_CONNECTED
2024-01-04T00:47:34.248791155Z Sending S2C_CONNECTION to <ipadress> [addons:'3088413071']
2024-01-04T00:47:34.248808629Z Client #3 "Tommy Tomcat" connected @ <ipadress>
2024-01-04T00:47:34.248826302Z Sending S2C_CONNECTION to <ipadress> [addons:'3088413071']
2024-01-04T00:47:34.248845774Z ClientPutInServer create new player controller [Tommy Tomcat]
2024-01-04T00:47:34.248867369Z Client 3 'Tommy Tomcat' setting rate to 786432
2024-01-04T00:47:34.248888367Z Client 3 'Tommy Tomcat' signon state SIGNONSTATE_CONNECTED -> SIGNONSTATE_NEW
2024-01-04T00:47:34.248909059Z Client 3 'Tommy Tomcat' signon state SIGNONSTATE_NEW -> SIGNONSTATE_PRESPAWN
2024-01-04T00:47:34.248926795Z Client 3 'Tommy Tomcat' signon state SIGNONSTATE_PRESPAWN -> SIGNONSTATE_SPAWN
2024-01-04T00:47:34.248945732Z SV:  "Tommy Tomcat<3><[U:1:18610112]><>" STEAM USERID validated
2024-01-04T00:47:34.248965704Z Client 3 'Tommy Tomcat' signon state SIGNONSTATE_SPAWN -> SIGNONSTATE_FULL
2024-01-04T00:47:34.248984715Z SV:  Sending full update to client Tommy Tomcat (reason:  initial update)
2024-01-04T00:47:34.249027345Z Tommy Tomcat    <ipadress>[1]:  NetChan Setting Timeout to 20.00 seconds
2024-01-04T00:47:34.249047657Z "Tommy Tomcat<3><[U:1:18610112]><Unassigned>" ChangeTeam() CTMDBG , team 0, req team 3 willSwitch 0, 4137.34 
2024-01-04T00:47:34.249068065Z Going to intermission...
2024-01-04T00:47:34.249081320Z CHANGE LEVEL: surf_evo
2024-01-04T00:47:34.249092790Z Changelevel surf_evo (null)
2024-01-04T00:47:34.249108853Z SV:  ChangeLevel( "surf_evo", "(null)" ) failed, map is not valid
2024-01-04T00:47:34.249128065Z CHostStateMgr::QueueNewRequest( Idle (console), 8 )
2024-01-04T00:47:34.249145186Z SourceTV[0] shutting down (non-relay) due to server disconnecting game.
2024-01-04T00:47:34.249157452Z CHLTVServer::Shutdown
2024-01-04T00:47:34.249171322Z CNetworkGameServerBase::SetServerState (ss_active -> ss_dead)
2024-01-04T00:47:34.249189441Z SV:  Server shutting down: NETWORK_DISCONNECT_REQUEST_HOSTSTATE_IDLE (60)
2024-01-04T00:47:34.249208391Z CNetworkGameServerBase::SetServerState (ss_active -> ss_dead)
2024-01-04T00:47:34.249222527Z SV:  Disconnect client 'Tommy Tomcat' from server(1): NETWORK_DISCONNECT_SHUTDOWN
2024-01-04T00:47:34.249240545Z Client 3 'Tommy Tomcat' signon state SIGNONSTATE_FULL -> SIGNONSTATE_NONE
2024-01-04T00:47:34.249259462Z CloseSteamNetConnection handle #2441247742 (userdata 1)
2024-01-04T00:47:34.249278254Z Disassociating NetChan Tommy Tomcat                      [-1] (unknown) from Steam Net Connection handle #2441247742 (userdata 1)
2024-01-04T00:47:34.249298451Z Summary of connection [#2441247742 UDP steamid:76561197978875840@<ipadress>]:
2024-01-04T00:47:34.249315047Z     End-to-end connection: connected
2024-01-04T00:47:34.249331058Z         Current rates:
2024-01-04T00:47:34.249346733Z             Sent:  64.0 pkts/sec   9.4 K/sec
2024-01-04T00:47:34.249362112Z             Recv:  64.0 pkts/sec  19.6 K/sec
2024-01-04T00:47:34.249378072Z             Ping:0ms    Max latency variance: ???ms
2024-01-04T00:47:34.249393853Z             Quality:  100%  (Dropped:0.00%  WeirdSeq:0.00%)
2024-01-04T00:47:34.249410441Z             Est avail bandwidth: 768.0KB/s  
2024-01-04T00:47:34.249426222Z             Bytes buffered: 0
2024-01-04T00:47:34.249441586Z         Lifetime stats:
2024-01-04T00:47:34.249457813Z             Totals
2024-01-04T00:47:34.249473465Z                 Sent:      1,831 pkts         319,509 bytes
2024-01-04T00:47:34.249489537Z                 Recv:      3,820 pkts         660,922 bytes
2024-01-04T00:47:34.249505231Z                 Recv w seq:      3,819 pkts
2024-01-04T00:47:34.249521988Z                 Dropped   :          0 pkts   0.00%
2024-01-04T00:47:34.249538103Z                 OutOfOrder:          0 pkts   0.00%
2024-01-04T00:47:34.249571465Z                 OOOFixed  :          0 pkts   0.00%
2024-01-04T00:47:34.249588715Z                 Duplicate :          0 pkts   0.00%
2024-01-04T00:47:34.249605076Z                 SeqLurch  :          0 pkts   0.00%
2024-01-04T00:47:34.249621707Z             Ping histogram: (1263 total samples)
2024-01-04T00:47:34.249638547Z                      0-25    25-50    50-75   75-100  100-125  125-150  150-200  200-300     300+
2024-01-04T00:47:34.249655972Z                      1263        0        0        0        0        0        0        0        0
2024-01-04T00:47:34.249673948Z                    100.0%     0.0%     0.0%     0.0%     0.0%     0.0%     0.0%     0.0%     0.0%
2024-01-04T00:47:34.249690296Z             Ping distribution:
2024-01-04T00:47:34.249706181Z                 5th   50th   75th   95th   98th
2024-01-04T00:47:34.249722282Z                 0ms    0ms    0ms    0ms    1ms
2024-01-04T00:47:34.249738195Z             Connection quality histogram: (9 measurement intervals)
2024-01-04T00:47:34.249753402Z                 perfect    99+  97-99  95-97  90-95  75-90  50-75    <50   dead
2024-01-04T00:47:34.249769881Z                       9      0      0      0      0      0      0      0      0
2024-01-04T00:47:34.249785725Z                  100.0%   0.0%   0.0%   0.0%   0.0%   0.0%   0.0%   0.0%   0.0%
2024-01-04T00:47:34.249801649Z             Connection quality distribution:
2024-01-04T00:47:34.249817001Z               50th  25th
2024-01-04T00:47:34.249833108Z               100%  100%
2024-01-04T00:47:34.249849275Z             Latency variance histogram not available
2024-01-04T00:47:34.249865701Z         Rate stats received from remote host 7.4s ago:
2024-01-04T00:47:34.249881945Z             Sent:  63.9 pkts/sec  19.6 K/sec
2024-01-04T00:47:34.738086088Z [S_API FAIL] Tried to access Steam interface SteamUtils010 before SteamAPI_Init succeeded.
2024-01-04T00:47:34.808316041Z Forcing breakpad minidump interfaces to load
2024-01-04T00:47:34.808353512Z Looking up breakpad interfaces from steamclient
2024-01-04T00:47:34.808363298Z Calling BreakpadMiniDumpSystemInit
2024-01-04T00:47:34.808374571Z SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561197960265728 [API loaded yes]
2024-01-04T00:47:34.808388183Z SteamInternal_SetMinidumpSteamID:  Setting Steam ID:  76561197960265728
2024-01-04T00:47:34.932628335Z [S_API FAIL] Tried to access Steam interface SteamUser023 before SteamAPI_Init succeeded.
2024-01-04T00:47:35.932783131Z [S_API FAIL] Tried to access Steam interface SteamUtils010 before SteamAPI_Init succeeded.

Steps to reproduce

  1. Playing on surf and waiting for the roundtime to end, so that the voting starts
  2. the voting now just shows the maps but with the workshop links instead of the names
kus commented 10 months ago

@TommyGx due to the way this mod is setup, I cannot use any of the existing map vote plugins as they all use one text file, but I need support to change based on the mod.

The inbuilt CS2 map voting at the end unfortunately doesn't work, I have tried to make it show the proper map names and images (which you could in CS:GO) but sadly it doesn't work, which means we will need to use a plugin to solve this.

I have started building my own plugin to handle the map changing/voting which is in the server in it's basic form.

At the moment it chooses a random map from the maps in the current mod and changes it.

As an admin you can type !map in chat and choose a map to change to from the current maps in the current mod.

I'm working on adding in voting at the end of the map but busy with real life atm.

TommyGx commented 9 months ago

Alright, thank you for the response!

Just an idea that shot through my mind since then.: i made a surf server by it's own before i used this, it had slightly different plugins, but instead of choosing several maps in a script, i made one workshop collection and used that instead. With that, the default voting worked.

Maybe that would work here too. It would also be great if there would be a possibility to add own workshop collection IDs via environment variables.

kus commented 6 months ago

@TommyGx this should work as you expect now.

I'm using RockTheVote to manage map voting and voting for the next map in combination with a new plugin GameModeManager which updates the maps for the mod so only relevent maps are in the voting list.

I've also added the ability to for players to vote to change the game mode by typing !gamemode in chat and also start a specific game mode vote by typing !comp, !wingman, !dm, !gg, !1v1, !awp, !aim, !prefire, !executes, !retake, !prac, !bhop, !kz, !surf, !minigames, !course, !scoutzknivez, !hns, !soccer.

And they can also vote to change the current map with !rtv.

We also have official docker support now if you want to try that instead of your own solution.