nickj609 / GameModeManager

A Counter-Strike 2 server plugin to help administrators manage custom game modes, settings, and map rotations.
MIT License
43 stars 3 forks source link

GameModeManager.dll #26

Open Geant200 opened 4 days ago

Geant200 commented 4 days ago

Hello.

I just redid my installation with the latest version of the plugins but I encounter Errors in the logs.

Plugins Version counterstrikesharp-with-runtime-build-290-windows-7929751 GameModeManager_v1.0.50

Error Log

2024-11-26 16:57:24.692 +01:00 [INFO] (cssharp:PluginContext) Loading plugin GameModeManager
2024-11-26 16:57:24.721 +01:00 [EROR] (cssharp:PluginManager) Failed to load plugin from E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\plugins\GameModeManager\GameModeManager.dll
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.Exception: Cannot find map group file: gamemodes_server.txt
   at GameModeManager.Plugin.OnConfigParsed(Config _config) in C:\Users\nickj\OneDrive\Documents\CS2\plugins\GameModeManager\GameModeManager\Config.cs:line 231
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
   at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at CounterStrikeSharp.API.Core.BasePlugin.InitializeConfig(Object instance, Type pluginType) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/BasePlugin.cs:line 393
   at CounterStrikeSharp.API.Core.Plugin.PluginContext.Load(Boolean hotReload) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/PluginContext.cs:line 217
   at CounterStrikeSharp.API.Core.Plugin.Host.PluginManager.LoadPlugin(String path) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/Host/PluginManager.cs:line 125
   at CounterStrikeSharp.API.Core.Plugin.Host.PluginManager.Load() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/Host/PluginManager.cs:line 93
2024-11-26 16:57:25.107 +01:00 [EROR] (cssharp:PluginManager) OnAllPluginsLoaded failed
System.NullReferenceException: Object reference not set to an instance of an object.
   at GameModeManager.Plugin.OnAllPluginsLoaded(Boolean hotReload) in C:\Users\nickj\OneDrive\Documents\CS2\plugins\GameModeManager\GameModeManager\Plugin.cs:line 73
   at CounterStrikeSharp.API.Core.Plugin.Host.PluginManager.Load() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/Host/PluginManager.cs:line 106
Geant200 commented 3 days ago

I installed version: counterstrikesharp-with-runtime-build-291-windows-6349c11

I think this is from CounterStrikeSharp?.

16:17:27
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Threading.Overlapped.dll - Access violation at 00007FFA0752B34C accessing 000002F213DD1000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\Microsoft.Win32.Primitives.dll - Access violation at 00007FFA0752B34C accessing 000002F213DE1000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.Extensions.Options.dll - Access violation at 00007FFA0752B34C accessing 000002F213DF1000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.Extensions.Logging.dll - Access violation at 00007FFA0752B34C accessing 000002F213E11000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.Extensions.Diagnostics.dll - Access violation at 00007FFA0752B34C accessing 000002F213E21000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.Extensions.Logging.Abstractions.dll - Access violation at 00007FFA0752B34C accessing 000002F213E31000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.Extensions.Diagnostics.Abstractions.dll - Access violation at 00007FFA0752B34C accessing 000002F213E51000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.Extensions.Logging.Configuration.dll - Access violation at 00007FFA0752B34C accessing 000002F213E61000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.Extensions.Logging.Debug.dll - Access violation at 00007FFA0752B34C accessing 000002F213E71000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.Extensions.Logging.EventSource.dll - Access violation at 00007FFA0752B34C accessing 000002F213E81000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.Extensions.Logging.EventLog.dll - Access violation at 00007FFA0752B34C accessing 000002F213E91000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.Extensions.Logging.Console.dll - Access violation at 00007FFA0752B34C accessing 000002F213EA1000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.Extensions.Options.ConfigurationExtensions.dll - Access violation at 00007FFA0752B34C accessing 000002F213EC1000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Scrutor.dll - Access violation at 00007FFA0752B34C accessing 000002F213ED1000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Serilog.Extensions.Logging.dll - Access violation at 00007FFA0752B34C accessing 000002F213EF1000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Serilog.Sinks.Console.dll - Access violation at 00007FFA0752B34C accessing 000002F213F01000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Serilog.Sinks.File.dll - Access violation at 00007FFA0752B34C accessing 000002F213F11000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.IO.FileSystem.dll - Access violation at 00007FFA0752B34C accessing 000002F213F21000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Reflection.Emit.Lightweight.dll - Access violation at 00007FFA0752B34C accessing 000002F213F31000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Reflection.Emit.ILGeneration.dll - Access violation at 00007FFA0752B34C accessing 000002F213F41000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Reflection.Primitives.dll - Access violation at 00007FFA0752B34C accessing 000002F213F51000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.Extensions.Localization.Abstractions.dll - Access violation at 00007FFA0752B34C accessing 000002F213F61000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Threading.ThreadPool.dll - Access violation at 00007FFA0752B34C accessing 000002F213F71000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Text.Encoding.Extensions.dll - Access violation at 00007FFA0752B34C accessing 000002F213F81000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Runtime.Intrinsics.dll - Access violation at 00007FFA0752B34C accessing 000002F213F91000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Numerics.Vectors.dll - Access violation at 00007FFA0752B34C accessing 000002F213FA1000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Runtime.Loader.dll - Access violation at 00007FFA0752B34C accessing 000002F213FB1000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\McMaster.NETCore.Plugins.dll - Access violation at 00007FFA0752B34C accessing 000002F213FC1000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Runtime.Extensions.dll - Access violation at 00007FFA0752B34C accessing 000002F213FD1000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.Extensions.DependencyModel.dll - Access violation at 00007FFA0752B34C accessing 000002F213FE1000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Xml.XDocument.dll - Access violation at 00007FFA0752B34C accessing 000002F214001000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Resources.ResourceManager.dll - Access violation at 00007FFA0752B34C accessing 000002F214011000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Diagnostics.Debug.dll - Access violation at 00007FFA0752B34C accessing 000002F214021000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Runtime.InteropServices.RuntimeInformation.dll - Access violation at 00007FFA0752B34C accessing 000002F214031000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Threading.Tasks.dll - Access violation at 00007FFA0752B34C accessing 000002F214041000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\Microsoft.DotNet.PlatformAbstractions.dll - Access violation at 00007FFA0752B34C accessing 000002F214051000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\netstandard.dll - Access violation at 00007FFA0752B34C accessing 000002F214061000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Buffers.dll - Access violation at 00007FFA0752B34C accessing 000002F214081000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\dotnet\shared\Microsoft.NETCore.App\8.0.3\System.Threading.Thread.dll - Access violation at 00007FFA0752B34C accessing 000002F214091000.
Could not PreloadLibrary E:\AMPDatastore\Instances\War-TeamFr-ServeurPrincipal01\counter-strike2\730\game\csgo\addons\counterstrikesharp\api\runtimes\win\lib\net8.0\System.Diagnostics.EventLog.dll - Access violation at 00007FFA0752B34C accessing 000002F2140A1000.
nickj609 commented 3 days ago

@Geant200, hey there! The below snippet from your code indicates that your map group file cannot be found:

---> System.Exception: Cannot find map group file: gamemodes_server.txt

The default location of this file is the /csgo/ folder in the game directory. I would make sure it exists and that it is formatted properly. If so, please provide a copy of your GameModeManager.json file and a copy of the CSSharp logs and/or Game Mode Manager logs from the counterstrikesharp/logs folder.

Geant200 commented 3 days ago

Yes it is the file (gamemodes_server.txt) I found my file can you give me your version of the file (gamemodes_server.txt) to see if it is still good ^^.

nickj609 commented 2 days ago

@Geant200, are you still getting the same error message? If so, where is the location of this file? Is it in the /csgo directory?

Geant200 commented 2 days ago

No I don't get the same message anymore. The only message is the configuration of the group maps that's why I would need your version of the file ( gamemodes_server.txt ) to compare.

Logs

2024-11-28 16:09:46.487 +01:00 [EROR] plugin:GameModeManager Unable to find mg_comp in map group list.
2024-11-28 16:09:46.495 +01:00 [EROR] plugin:GameModeManager Unable to find mg_dm in map group list.
2024-11-28 16:09:46.495 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.495 +01:00 [EROR] plugin:GameModeManager Unable to find mg_gg in map group list.
2024-11-28 16:09:46.495 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.495 +01:00 [EROR] plugin:GameModeManager Unable to find mg_comp in map group list.
2024-11-28 16:09:46.495 +01:00 [EROR] plugin:GameModeManager Unable to find mg_comp in map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to find mg_comp in map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to find mg_comp in map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to find mg_comp in map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to find mg_comp in map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to find mg_dm in map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to find mg_gg in map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to find mg_45 in map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.497 +01:00 [EROR] plugin:GameModeManager Unable to find mg_awp in map group list.
2024-11-28 16:09:46.498 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.498 +01:00 [EROR] plugin:GameModeManager Unable to find mg_1v1 in map group list.
2024-11-28 16:09:46.498 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.498 +01:00 [EROR] plugin:GameModeManager Unable to find mg_aim in map group list.
2024-11-28 16:09:46.500 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.500 +01:00 [EROR] plugin:GameModeManager Unable to find mg_bhop in map group list.
2024-11-28 16:09:46.500 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.500 +01:00 [EROR] plugin:GameModeManager Unable to find mg_surf in map group list.
2024-11-28 16:09:46.500 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.500 +01:00 [EROR] plugin:GameModeManager Unable to find mg_kz in map group list.
2024-11-28 16:09:46.500 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.500 +01:00 [EROR] plugin:GameModeManager Unable to find mg_hns in map group list.
2024-11-28 16:09:46.500 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.500 +01:00 [EROR] plugin:GameModeManager Unable to find mg_soccer in map group list.
2024-11-28 16:09:46.500 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.500 +01:00 [EROR] plugin:GameModeManager Unable to find mg_course in map group list.
2024-11-28 16:09:46.500 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.517 +01:00 [EROR] plugin:GameModeManager Unable to find mg_deathrun in map group list.
2024-11-28 16:09:46.517 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.517 +01:00 [EROR] plugin:GameModeManager Unable to find mg_minigames in map group list.
2024-11-28 16:09:46.517 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.
2024-11-28 16:09:46.517 +01:00 [EROR] plugin:GameModeManager Unable to find mg_scoutzknivez in map group list.
2024-11-28 16:09:46.517 +01:00 [EROR] plugin:GameModeManager Unable to create map group list.

My file ( gamemodes_server.txt ).

// Values here override the default gamemodes.txt
// https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive/Game_Modes

"GameModes_Server.txt"
{
    "gameTypes"
    {
        "classic"
        {
            "gameModes"
            {
                "casual"
                {
                    "maxplayers"            "64"
                    "exec"
                    {
                        "exec" "gamemode_casual_last.cfg"
                    }
                    // Map groups for online modes
                    "mapgroupsMP"
                    {
                        //Other Maps Groups
                        "mg_Multi1v1-Arena"         "50"
                        "mg_BHop"           "51"
                        "mg_KZ"             "52"
                        "mg_Surf"           "53"
                        "mg_MiniGames"      "54"
                        "mg_Scoutzknivez"   "55"
                        "mg_Course"         "56"
                        "mg_HideNSeek"      "57"
                        "mg_Soccer"         "58"
                        "mg_GunGame"        "59"
                        "mg_AWP"            "60"
                        "mg_AimMap"         "61"
                        "mg_Casual"         "62"
                        "mg_MiniMaps"       "63"
                        "mg_Deathrun"       "64"
                        "mg_Casual-1.6"     "65"
                    }
                }

                "competitive"
                {
                    "maxplayers"            "64"
                    "exec"
                    {
                        "exec" "gamemode_competitive_last.cfg"
                    }
                    // Map groups for online modes
                    "mapgroupsMP"
                    {
                        // team lobby map veto
                        "mg_10Mans"         "50"
                        "mg_Retakes"        "51"
                        "mg_Prefire"        "52"
                        "mg_Prac"           "53"
                        "mg_Executes"       "54"
                    }
                }

                // Wingman
                "scrimcomp2v2"
                {
                    "maxplayers"            "64"
                    "exec"
                    {
                        "exec" "gamemode_competitive2v2_last.cfg"
                    }
                    // Map groups for online modes
                    "mapgroupsMP"
                    {
                        "mg_Wingman"        "50"
                    }
                }

                "deathmatch"
                {
                    "maxplayers"            "64"
                    "exec"
                    {
                        "exec" "gamemode_deathmatch_last.cfg"
                    }
                    // Map groups for online modes
                    "mapgroupsMP"
                    {
                        "mg_DM-Valve"       "50"
                    }
                }
            }
        }
        "Custom"
        {
            "gameModes"
            {
                "custom"
                {
                    "maxplayers"            "100"
                    "exec"
                    {
                        "exec" "gamemode_custom_last.cfg"
                    }
                    "mapgroupsMP"
                    {
                        "mg_DM-MultiCFG"    "50"
                    }
                }
            }
        }
    }
    "mapgroups"
    {
        "mg_active"
        {
            "name"                  "mg_active"
            "maps"
            {
                "de_ancient"    ""
                "de_anubis"     ""
                "de_dust2"      ""
                "de_inferno"    ""
                "de_mirage"     ""
                "de_nuke"       ""
                "de_vertigo"    ""
            }
        }
        "mg_10Mans"
        {
            "name"          "mg_10Mans"
            "maps"
            {
                "de_ancient"        ""
                "de_anubis"         ""
                "de_dust2"          ""
                "de_inferno"        ""
                "de_mirage"         ""
                "de_nuke"           ""
                "de_overpass"       ""
                "de_vertigo"        ""
                "workshop/3121217565/de_thera"  ""
                "workshop/3070212801/de_cbble"      ""
                "workshop/3070244931/de_cache"      ""
                "workshop/3073892687/de_season_d_prefab"        ""
            }
        }
        "mg_Wingman"
        {
            "name"          "mg_Wingman"
            "maps"
            {
                "cs_italy"          ""
                "cs_office"         ""
                "de_vertigo"        ""
                "de_ancient"        ""
                "de_anubis"         ""
                "de_dust2"          ""
                "de_inferno"        ""
                "de_mirage"         ""
                "de_nuke"           ""
                "de_overpass"       ""
                "de_vertigo"        ""
                "ar_shoots"         ""
                "ar_baggage"        ""
                "workshop/3085490518/gd_rialto"     ""
                "workshop/3070550406/de_safehouse"      ""
                "workshop/3219506727/de_lake"       ""
                "workshop/3070581293/de_bank"       ""
                "workshop/3070612859/de_shortdust"      ""
                "workshop/3071005299/de_assembly"       ""
                "workshop/3070212801/de_cbble"      ""
                "workshop/3070244931/de_cache"      ""
                "workshop/3079872050/de_pipeline"       ""
                "workshop/3075706807/de_biome"      ""
                "workshop/3070346180/mp_raid"       ""
                "workshop/3070766070/de_mutiny"     ""
                "workshop/3070594412/cs_assault"        ""
                "workshop/3072352643/de_ruins_d_prefab"     ""
            }
        }
        "mg_DM-Valve"
        {
            "name"          "mg_DM-Valve"
            "maps"
            {
                "cs_italy"          ""
                "cs_office"         ""
                "de_vertigo"        ""
                "de_ancient"        ""
                "de_anubis"         ""
                "de_dust2"          ""
                "de_inferno"        ""
                "de_mirage"         ""
                "de_nuke"           ""
                "de_overpass"       ""
                "de_vertigo"        ""
                "workshop/3070923343/fy_pool_day"       ""
                "workshop/3070348309/aim_theorem"       ""
                "workshop/3070212801/de_cbble"      ""
                "workshop/3070244931/de_cache"      ""
                "workshop/3088183343/fun_bounce"        ""
                "workshop/3109232789/gg_simpsons_vs_flanders_v2"        ""
                "workshop/3112806723/cs_facingworlds-99"        ""
                "workshop/3093088534/nuketown"              ""
            }
        }
        "mg_GunGame"
        {
            "name"          "mg_GunGame"
            "maps"
            {
                "ar_shoots"         ""
                "ar_baggage"        ""
                "workshop/3070923343/fy_pool_day"       ""
                "workshop/3070238628/fy_iceworld"       ""
                "workshop/3072640420/daymare"       ""
                "workshop/3070348309/aim_theorem"       ""
                "workshop/3070550406/de_safehouse"      ""
                "workshop/3219506727/de_lake"       ""
                "workshop/3070581293/de_bank"       ""
                "workshop/3088183343/fun_bounce"        ""
                "workshop/3082605693/1v1aim_map_longdustversion_d"      ""
                "workshop/3070291913/ar_churches_s2r"       ""
                "workshop/3082113929/aim_ag_texture_city_advanced"      ""
                "workshop/3086555291/shipment_version_1_0"      ""
                "workshop/3074961197/aim_ag_texture2"       ""
                "workshop/3095778105/aim_ag_texture_jungle"     ""
                "workshop/3071890065/cs2_bloodstrike"       ""
                "workshop/3109232789/gg_simpsons_vs_flanders_v2"        ""
            }
        }
        "mg_Multi1v1-Arena"
        {
            "name"          "mg_Multi1v1-Arena"
            "maps"
            {
                "workshop/3242420753/am_anubis_p"       ""
                "workshop/3262582924/am_duels_mirage"   ""
                "workshop/3179186642/am_garden"         ""
                "workshop/3197575080/am_minecraft_pierdolnik"       ""
                "workshop/3070253400/aim_redline_fp"    ""
                "workshop/3180965466/am_zen"            ""

            }
        }
        "mg_BHop"
        {
            "name"          "mg_BHop"
            "maps"
            {
                "workshop/3077596014/bhop_1derland"     ""
                "workshop/3088973190/bhop_arcturus"     ""
                "workshop/3077211069/bhop_at_night"     ""
                "workshop/3082038560/bhop_cherryblossom"    ""
                "workshop/3118806244/bhop_dunedash"     ""
                "workshop/3103286752/bhop_internetclub" ""
                "workshop/3095219437/bhop_kiwi_cwfx"        ""
                "workshop/3079959870/bhop_omnitopia"        ""
                "workshop/3077153735/bhop_ragnarok"     ""
                "workshop/3247326328/bhop_vaporwave"        ""
                "workshop/3078523849/bhop_whiteshit"        ""
                "workshop/3077475505/bhop_zunron"       ""
            }
        }
        "mg_KZ"
        {
            "name"          "mg_KZ"
            "maps"
            {
                "workshop/3070194623/kz_checkmate"      ""
                "workshop/3072744536/kz_ggsh"       ""
                "workshop/3121168339/kz_grotto"     ""
                "workshop/3070220367/kz_hub"        ""
                "workshop/3102712799/kz_igneous"    ""
                "workshop/3072699538/kz_ltt"        ""
                "workshop/3077122656/kz_nomibo"     ""
                "workshop/3072219045/kz_rc_stonehenge"      ""
                "workshop/3083509404/kz_rc_twotowers"       ""
                "workshop/3078311932/kz_simplyhard"     ""
                "workshop/3076000218/kz_sxb2_biewan"        ""
                "workshop/3083714192/kz_sxb2_cxz"       ""
                "workshop/3086304337/kz_victoria"       ""
                "workshop/3074758439/only_up"       ""
            }
        }
        "mg_Surf"
        {
            "name"          "mg_Surf"
            "maps"
            {
                "workshop/3088413071/surf_ace"      ""
                "workshop/3165517928/surf_astra"    ""
                "workshop/3255589335/surf_aquaflow"     ""
                "workshop/3070321829/surf_beginner"     ""
                "workshop/3098972556/surf_benevolent"   ""
                "workshop/3133346713/surf_boreas"       ""
                "workshop/3080544577/surf_deathstar"        ""
                "workshop/3255525511/surf_inui"         ""
                "workshop/3076153623/surf_kitsune"      ""
                "workshop/3125360522/surf_mesa_aether"  ""
                "workshop/3076980482/surf_mesa_revo"        ""
                "workshop/3129698096/surf_nyx"          ""
                "workshop/3082548297/surf_rookie"       ""
                "workshop/3073875025/surf_utopia_njv"       ""              
            }
        }
        "mg_MiniGames"
        {
            "name"          "mg_MiniGames"
            "maps"
            {
                "workshop/3164611860/deathrun_playground"       ""
                "workshop/3082120895/mg_skeet_multigames_v7"        ""
                "workshop/3076765511/mg_warmcup_headshot"       ""
                "workshop/3083325292/deathrun_iceworld_cs2"     ""
                "workshop/3097973183/mg_lego_minigames"         ""
                "workshop/3188024686/mg_legospace_multigames"       ""
                "workshop/3111582979/mg_multigames_devine_is_french"    ""
                "workshop/3156615586/mg_wl_multigames"          ""
                "workshop/3101960156/mg_swag_multigames_v7_1"       ""
                "workshop/3242033080/mg_pudding_multigames_cs2"     ""
                "workshop/3106085501/mg_saw_v64_cs2"                ""
            }
        }
        "mg_Course"
        {
            "name"          "mg_Course"
            "maps"
            {
                "workshop/3076483842/cr_devisland_p1_v1"        ""
                "workshop/3070439729/mg_switch_course_v2"       ""
                "workshop/3070896876/cr_minecraft_jb_v2"        ""
                "workshop/3070463151/mg_metro_course_v1"        ""
                "workshop/3070455802/mg_alley_course_v2"        ""
                "workshop/3070445185/mg_glave_course_v2"        ""
                "workshop/3070459211/mg_office_course_v3"       ""
                "workshop/3070464208/mg_metal_course_v2"        ""
                "workshop/3070463620/mg_acrophobia_run_v2"      ""
                "workshop/3071040020/mg_metro_course_s2"        ""
                "workshop/3070434475/mg_circle_course_v3"       ""
                "workshop/3070447697/mg_simpsons_course_v2"     ""
                "workshop/3070452642/mg_sonic_course_v2"        ""
                "workshop/3070451616/mg_sky_realm_v3"       ""
            }
        }
        "mg_Deathrun"
        {
            "name"          "mg_Deathrun"
            "maps"
            {
                "workshop/3083325292/deathrun_iceworld_cs2"     ""
                "workshop/3164611860/deathrun_playground"       ""
            }
        }
        "mg_Scoutzknivez"
        {
            "name"          "mg_Scoutzknivez"
            "maps"
            {
                "workshop/3070553020/ar_dizzy"      ""
                "workshop/3073929825/scoutzknivez_pure_cs2"     ""
            }
        }
        "mg_HideNSeek"
        {
            "name"          "mg_HideNSeek"
            "maps"
            {
                "workshop/3071094345/hs_lake"       ""
                "workshop/3097563690/infernohideandseek"        ""
                "workshop/3070541369/minus_denhet"      ""
                "workshop/3074479691/seek_town_bs"      ""
                "workshop/3070951079/winterday_bs"      ""
            }
        }
        "mg_Soccer"
        {
            "name"          "mg_Soccer"
            "maps"
            {
                "workshop/3070198374/ka_soccer_2009"        ""
                "workshop/3238565662/field"                 ""
            }
        }
        "mg_AWP"
        {
            "name"          "mg_AWP"
            "maps"
            {
                "workshop/3142070597/awp_bhop_rocket"       ""
                "workshop/3081154235/awp_creek"             ""
                "workshop/3166593524/awp_japan_neon_cs"     ""
                "workshop/3088944650/awp_lego_2_winter"     ""
                "workshop/3109027085/awp_minecraft"         ""
                }
        }
        "mg_AimMap"
        {
            "name"          "mg_AimMap"
            "maps"
            {
                "workshop/3140763900/1v1_hospital"      ""
                "workshop/3090340064/aim_ancient"       ""
                "workshop/3177201515/aim_anubis"        ""
                "workshop/3165438553/aim_deaglepark"    ""
                "workshop/3171874934/aim_inspire"       ""
                "workshop/3222291463/aim_map_classic"   ""
                "workshop/3070260370/aim_map_s2r"       ""
                "workshop/3163827658/aim_refrag"        ""
                "workshop/3157627939/aim_valerastan"    ""
                "workshop/3146122036/freebet_aim_map"   ""
                "workshop/3070923343/fy_pool_day"       ""
            }
        }
        "mg_DM-MultiCFG"
        {
            "name"          "mg_DM-MultiCFG"
            "maps"
            {
                "de_dust2"          ""
                "de_inferno"        ""
                "de_mirage"         ""
                "de_thera"          ""
                "de_vertigo"        ""
            }
        }
        "mg_Casual"
        {
            "name"          "mg_Casual"
            "maps"
            {

                "workshop/3070594412/cs_assault"        ""
                "cs_italy"          ""
                "workshop/3089953774/cs_militia"        ""
                "cs_office"         ""
                "workshop/3108513658/de_akiba"      ""
                "workshop/3071005299/de_assembly"       ""
                "workshop/3070960099/de_aztec"      ""
                "workshop/3075706807/de_biome"      ""
                "workshop/3070212801/de_cbble"      ""
                "workshop/3255907412/guardian"      ""
                "workshop/3070766070/de_mutiny"     ""
                "workshop/3245245780/de_nuke_silly"     ""
                "workshop/3079872050/de_pipeline"       ""
                "workshop/3161693626/de_rats_1337_v2"   ""
                "workshop/3071818846/de_rats_kitchoon"      ""
                "workshop/3072352643/de_ruins_d_prefab"     ""
                "workshop/3077457651/de_survivor"           ""
                "workshop/3084930277/fy_snow_y0"        ""
                "workshop/3186779271/minecraft"     ""
                "workshop/3070346180/mp_raid"       ""
            }
        }
        "mg_MiniMaps"
        {
            "name"          "mg_MiniMaps"
            "maps"
            {
                "workshop/3099519038/minimirage_cs2port"        ""
                "workshop/3078140567/mini_train"                ""
            }
        }
        "mg_Retakes"
        {
            "name"          "mg_Retakes"
            "maps"
            {
                "de_ancient"        ""
                "de_anubis"         ""
                "de_dust2"          ""
                "de_inferno"        ""
                "de_mirage"         ""
                "de_nuke"           ""
                "de_overpass"       ""
                "de_vertigo"        ""
            }
        }
        "mg_Prefire"
        {
            "name"          "mg_Prefire"
            "maps"
            {
                "de_ancient"        ""
                "de_dust2"          ""
                "de_inferno"        ""
                "de_mirage"         ""
                "de_overpass"       ""
                "de_anubis"         ""
                "de_nuke"           ""
            }
        }
        "mg_Prac"
        {
            "name"          "mg_Prac"
            "maps"
            {
                "de_ancient"        ""
                "de_anubis"         ""
                "de_dust2"          ""
                "de_inferno"        ""
                "de_mirage"         ""
                "de_nuke"           ""
                "de_overpass"       ""
                "de_vertigo"        ""
                "workshop/3121217565/de_thera"  ""
                "workshop/3070212801/de_cbble"      ""
                "workshop/3070244931/de_cache"      ""
                "workshop/3073892687/de_season_d_prefab"        ""
            }
        }
        "mg_Executes"
        {
            "name"          "mg_Executes"
            "maps"
            {
                "de_mirage"     ""
            }
        }
        "mg_Casual-1.6"
        {
            "name"          "mg_Casual-1.6"
            "maps"
            {
                "workshop/3222291463/aim_map"               ""
                "workshop/3104677430/as_oilrig"             ""
                "workshop/3215705579/cs_assult_classic"     ""
                "workshop/3213800338/de_aztec_classic"      ""
                "workshop/3078095785/de_dust_classic"       ""
                "workshop/3070363499/de_dust2_classic"      ""
                "workshop/3172269001/de_inferno_classic"    ""
                "workshop/3212419403/cs_italy_classic"      ""
                "workshop/3144773563/cs_militia_classic"    ""
                "workshop/3205793205/de_nuke_classic"       ""
                "workshop/3216844784/cs_office_classic"     ""
                "workshop/3217247541/de_survivor_classic_m" ""
            }
        }
    }
}

My file ( GameModeManager.json ).

// This configuration was automatically generated by CounterStrikeSharp for plugin 'GameModeManager', at 2024/11/26 04:57:24
{
  "Version": 7,
  "RTV": {
    "Enabled": false,
    "Mode": 0,
    "MapFormat": false,
    "Plugin": "addons/counterstrikesharp/plugins/RockTheVote/RockTheVote.dll",
    "MapList": "addons/counterstrikesharp/plugins/RockTheVote/maplist.txt"
  },
  "Maps": {
    "Delay": 5,
    "Style": "wasd",
    "Default": "de_dust2"
  },
  "Votes": {
    "Enabled": false,
    "Maps": false,
    "AllMaps": false,
    "GameModes": false,
    "GameSettings": false,
    "Style": "wasd"
  },
  "Settings": {
    "Enabled": true,
    "Style": "wasd",
    "Folder": "settings"
  },
  "Warmup": {
    "Time": 60,
    "PerMap": false,
    "Default": {
      "Name": "Knives Only",
      "Config": "warmup/knives_only.cfg",
      "DefaultMap": null,
      "MapGroups": []
    },
    "List": [
      {
        "Name": "Deathmatch",
        "Config": "warmup/dm.cfg",
        "DefaultMap": null,
        "MapGroups": []
      },
      {
        "Name": "Knives Only",
        "Config": "warmup/knives_only.cfg",
        "DefaultMap": null,
        "MapGroups": []
      },
      {
        "Name": "Scoutz Only",
        "Config": "warmup/scoutz_only.cfg",
        "DefaultMap": null,
        "MapGroups": []
      }
    ]
  },
  "Commands": {
    "Map": true,
    "Maps": true,
    "AllMaps": false,
    "TimeLeft": true,
    "Style": "wasd"
  },
  "Rotation": {
    "Enabled": true,
    "WhenServerEmpty": false,
    "CustomTimeLimit": 600,
    "Cycle": 0,
    "MapGroups": [
      "mg_active",
      "mg_10Mans"
      "mg_Wingman"
      "mg_DM-Valve"
      "mg_GunGame"
      "mg_Multi1v1-Arena"
      "mg_BHop"
      "mg_KZ"
      "mg_Surf"
      "mg_MiniGames"
      "mg_Course"
      "mg_Deathrun"
      "mg_Scoutzknivez"
      "mg_HideNSeek"
      "mg_Soccer"
      "mg_AWP"
      "mg_AimMap"
      "mg_DM-MultiCFG"
      "mg_Casual"
      "mg_MiniMaps"
      "mg_Retakes"
      "mg_Prefire"
      "mg_Prac"
      "mg_Executes"
      "mg_Casual-1.6"
    ],
    "ModeRotation": false,
    "ModeInterval": 4,
    "ModeSchedules": false,
    "Schedule": [
      {
        "Time": "10:00",
        "Mode": "Casual"
      },
      {
        "Time": "15:00",
        "Mode": "Practice"
      },
      {
        "Time": "17:00",
        "Mode": "Competitive"
      }
    ]
  },
  "GameModes": {
    "Style": "wasd",
    "Default": {
      "Name": "Casual",
      "Config": "casual.cfg",
      "DefaultMap": null,
      "MapGroups": [
        "mg_active",
        "mg_comp"
      ]
    },
    "MapGroupFile": "gamemodes_server.txt",
    "List": [
      {
        "Name": "Casual",
        "Config": "casual.cfg",
        "DefaultMap": "de_dust2",
        "MapGroups": [
          "mg_active",
          "mg_comp"
        ]
      },
      {
        "Name": "Deathmatch",
        "Config": "dm.cfg",
        "DefaultMap": "de_assembly",
        "MapGroups": [
          "mg_dm"
        ]
      },
      {
        "Name": "Armsrace",
        "Config": "ar.cfg",
        "DefaultMap": "ar_pool_day",
        "MapGroups": [
          "mg_gg"
        ]
      },
      {
        "Name": "Competitive",
        "Config": "comp.cfg",
        "DefaultMap": "de_dust2",
        "MapGroups": [
          "mg_active",
          "mg_comp"
        ]
      },
      {
        "Name": "Wingman",
        "Config": "wingman.cfg",
        "DefaultMap": "de_memento",
        "MapGroups": [
          "mg_active",
          "mg_comp"
        ]
      },
      {
        "Name": "Practice",
        "Config": "prac.cfg",
        "DefaultMap": "de_dust2",
        "MapGroups": [
          "mg_comp"
        ]
      },
      {
        "Name": "Prefire",
        "Config": "prefire.cfg",
        "DefaultMap": "de_inferno",
        "MapGroups": [
          "mg_comp"
        ]
      },
      {
        "Name": "Retakes",
        "Config": "retake.cfg",
        "DefaultMap": "de_dust2",
        "MapGroups": [
          "mg_comp"
        ]
      },
      {
        "Name": "Executes",
        "Config": "executes.cfg",
        "DefaultMap": "de_mirage",
        "MapGroups": [
          "mg_comp"
        ]
      },
      {
        "Name": "Casual 1.6",
        "Config": "Casual-1.6.cfg",
        "DefaultMap": "3212419403",
        "MapGroups": [
          "mg_Casual-1.6"
        ]
      },
      {
        "Name": "Deathmatch Multicfg",
        "Config": "dm-multicfg.cfg",
        "DefaultMap": "de_mirage",
        "MapGroups": [
          "mg_dm"
        ]
      },
      {
        "Name": "GG",
        "Config": "gg.cfg",
        "DefaultMap": "ar_pool_day",
        "MapGroups": [
          "mg_gg"
        ]
      },
      {
        "Name": "45",
        "Config": "45.cfg",
        "DefaultMap": "3276886893",
        "MapGroups": [
          "mg_45"
        ]
      },
      {
        "Name": "Awp",
        "Config": "awp.cfg",
        "DefaultMap": "3142070597",
        "MapGroups": [
          "mg_awp"
        ]
      },
      {
        "Name": "1v1",
        "Config": "1v1.cfg",
        "DefaultMap": "3070253400",
        "MapGroups": [
          "mg_1v1"
        ]
      },
      {
        "Name": "Aim",
        "Config": "aim.cfg",
        "DefaultMap": "3084291314",
        "MapGroups": [
          "mg_aim"
        ]
      },
      {
        "Name": "Bhop",
        "Config": "bhop.cfg",
        "DefaultMap": "3088973190",
        "MapGroups": [
          "mg_bhop"
        ]
      },
      {
        "Name": "Surf",
        "Config": "surf.cfg",
        "DefaultMap": "3082548297",
        "MapGroups": [
          "mg_surf"
        ]
      },
      {
        "Name": "KreedZ",
        "Config": "kz.cfg",
        "DefaultMap": "3086304337",
        "MapGroups": [
          "mg_kz"
        ]
      },
      {
        "Name": "Hide N Seek",
        "Config": "hns.cfg",
        "DefaultMap": "3097563690",
        "MapGroups": [
          "mg_hns"
        ]
      },
      {
        "Name": "Soccer",
        "Config": "soccer.cfg",
        "DefaultMap": "3070198374",
        "MapGroups": [
          "mg_soccer"
        ]
      },
      {
        "Name": "Course",
        "Config": "course.cfg",
        "DefaultMap": "3070455802",
        "MapGroups": [
          "mg_course"
        ]
      },
      {
        "Name": "Deathrun",
        "Config": "deathrun.cfg",
        "DefaultMap": "3164611860",
        "MapGroups": [
          "mg_deathrun"
        ]
      },
      {
        "Name": "Minigames",
        "Config": "minigames.cfg",
        "DefaultMap": "3082120895",
        "MapGroups": [
          "mg_minigames"
        ]
      },
      {
        "Name": "ScoutzKnivez",
        "Config": "scoutzknivez.cfg",
        "DefaultMap": "3073929825",
        "MapGroups": [
          "mg_scoutzknivez"
        ]
      }
    ]
  }
}
nickj609 commented 1 day ago

Hey @Geant200, thank you for providing that information. The reason you are experiencing these issues is because your configuration file does not match your gamemodes_server.txt file. More specifically, you have the default list of modes added to your configuration that have map groups not referenced in your gamemodes_server.txt file.

For example:

{
        "Name": "Competitive",
        "Config": "comp.cfg",
        "DefaultMap": "de_dust2",
        "MapGroups": [
          "mg_active",
          "mg_comp"
        ]
      },

However, you don't have mg_comp as a map group in your gamemodes_server.txt file. You should remove any modes you don't have or don't map to at least one existing map group. Another thing to mention is that the name is case-sensitive.

mg_comp != mg_Comp

This will change in the next version.

Additionally, you do not need to specify every map group in the below rotation settings, you can just set the Cycle setting to 1 for a list of maps from all modes. However, if you do want to add your own list, make sure to use a comma delimiter for each entry except for the last, as seen below:

"Rotation": {
    "Enabled": true,
    "WhenServerEmpty": false,
    "CustomTimeLimit": 600,
    "Cycle": 1,
    "MapGroups": [
         "mg_active",
          "mg_10Mans",
      "mg_Wingman",
      "mg_DM-Valve",
      "mg_GunGame",
      "mg_Multi1v1-Arena",
      "mg_BHop",
      "mg_KZ",
      "mg_Surf",
      "mg_MiniGames",
      "mg_Course",
      "mg_Deathrun",
      "mg_Scoutzknivez",
      "mg_HideNSeek",
      "mg_Soccer",
      "mg_AWP",
      "mg_AimMap",
      "mg_DM-MultiCFG",
      "mg_Casual",
      "mg_MiniMaps",
      "mg_Retakes",
      "mg_Prefire",
      "mg_Prac",
      "mg_Executes",
      "mg_Casual-1.6"
    ],

Lastly. if your using per-map configuration, you will want to enable AllMaps command so that map lists contain all maps accross all game modes:

 "Commands": {
    "Map": true,
    "Maps": true,
    "AllMaps": true,
    "TimeLeft": true,
    "Style": "wasd"
    },

    "Warmup": {
    "Time": 60,
    "PerMap": true,
    "Default": {
      "Name": "Knives Only",
      "Config": "warmup/knives_only.cfg",
      "DefaultMap": null,
      "MapGroups": []
    },
Geant200 commented 1 day ago

Ok I think I understood I will do some tests and I will keep you posted ^^.

Geant200 commented 13 hours ago

Can you tell me what the following number is for?
"50" "51" "52" "53" "54" "55" "56" "57" "58" "59" "60" "61" "62" "63" "64" "65"

And why not use the following numbers? "01" "02" "03" "03" "04" "05" "06" "07" "08" "09" "10" "11" "12" "13" "14" "15"

The numbers correspond to a permission rank ??.

                    // Map groups for online modes
                    "mapgroupsMP"
                    {
                        //Other Maps Groups
                        "mg_Multi1v1-Arena"         "50"
                        "mg_BHop"           "51"
                        "mg_KZ"             "52"
                        "mg_Surf"           "53"
                        "mg_MiniGames"      "54"
                        "mg_Scoutzknivez"   "55"
                        "mg_Course"         "56"
                        "mg_HideNSeek"      "57"
                        "mg_Soccer"         "58"
                        "mg_GunGame"        "59"
                        "mg_AWP"            "60"
                        "mg_AimMap"         "61"
                        "mg_Casual"         "62"
                        "mg_MiniMaps"       "63"
                        "mg_Deathrun"       "64"
                        "mg_Casual-1.6"     "65"

Another thing I don't understand is that all the information about groups and maps is given in the file ( gamemodes_server.txt ) and that I still have to also enter them in the file ( GameModeManager.json ) for what??.

nickj609 commented 12 hours ago

Hey @Geant200, those are very good questions! When it comes to my plugin, it only reads the "mapgroups" section of the file, so anything prior to that is specific to cs2 dedicated servers. More information can be found on this wiki.

https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive/Game_Modes

As to why you have to specify them in the GameModeManager.json, this is because you can have multiple map groups associated with a specific game mode (like the developers originally had intended them). This way, you can have map groups like mg_delta, mg_active, etc. and you can rotate them out for each game mode or include all of them, if desired.

Geant200 commented 11 hours ago

Ok I understood the principle of the example number panel.

For Casual it's 00 Competitive 01

But for the following game mods what number is on the board?

Gun Game 1? Awp ?? Aim ?? deathrun?? ... ??

Most of the game modes stipulated in the configuration files do not really have two numbers ? on the board ?.

nickj609 commented 7 hours ago

Hey @Geant200, custom modes typically use the built-in casual, competitive, or gun game modes that are auto-generated in the gamemodes_server.txt file. For example, each game mode configuration file you have should begin with something like this:

// Set game mode and type game_type 0 (casual) game_mode 0 (classic)

This corresponds with the "value" property seen in your gamemodes_server.txt file:

"classic"
        {
            "value"             "0"
            "nameID"            "#SFUI_GameTypeClassic"

            "gameModes"
            {
                "casual"
                {
                    "value"             "0"

Theoretically, you can add custom modes for every one of your game modes, but I don't believe it's worth the effort as in my opinion, it provides no additional value when using my plugin other than duplicating efforts (which is already kind of an issue as you mentioned) unless someone can convince me otherwise. Maybe they can be used to customize the image or mode being displayed during the loading screen?

To tie this all together, the mapgroup numbers you were referring to earlier are related to the mapgroup console command that can be used to specify the mapgroup for the built-in end map vote, but that is disabled since my plugin is handling all map changes and rotations, and therefore that command is no longer necessary.