yonilerner / cs2-retakes-allocator

Advanced weapon allocation for B3none/cs2-retakes
GNU General Public License v3.0
52 stars 15 forks source link

Empty hands on newest version #139

Closed RebornOG closed 3 months ago

RebornOG commented 4 months ago

Im using the newest version of this plugin and metamod + cssharp and it seems to be bugged.

Got empty hands on spawn. Followed the install instructions no errors in the logs

yonilerner commented 4 months ago

Can you share your Retakes and RetakesAllocator configs?

Also is this spawn during warmup or the actual game?

RebornOG commented 4 months ago

Retakes config is the original one with EnableFallbackAllocation = false. I just checked a fresh installed server and the error might be related to the RetakesAllocator config not being created ?

Also the error occurs after warmup

yonilerner commented 4 months ago

The config is in plugins/RetakesAllocator/config

RebornOG commented 4 months ago

Its not being created for me. I've tried it on 2 different servers now unfortunately.

yonilerner commented 4 months ago

You must have some server error logs then

RebornOG commented 4 months ago

These are the logs from cssharp

2024-04-23 17:43:04.319 +02:00 [EROR] (cssharp:Core) Error invoking callback
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.Exception: Config not yet loaded.
   at RetakesAllocatorCore.Config.Configs.GetConfigData() in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/Config/Configs.cs:line 37
   at RetakesAllocatorCore.Managers.RoundTypeManager.Initialize() in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/Managers/RoundTypeManager.cs:line 31
   at RetakesAllocatorCore.Managers.RoundTypeManager.get_Instance() in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/Managers/RoundTypeManager.cs:line 11
   at RetakesAllocatorCore.OnRoundPostStartHelper.Handle[T](ICollection`1 allPlayers, Func`2 getSteamId, Func`2 getTeam, Action`1 giveDefuseKit, Action`3 allocateItemsForPlayer, Func`2 isVip, RoundType& currentRoundType) in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/OnRoundPostStartHelper.cs:line 20
   at RetakesAllocator.RetakesAllocator.OnRoundPostStart(EventRoundPoststart event, GameEventInfo info) in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocator/RetakesAllocator.cs:line 454
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at CounterStrikeSharp.API.Core.FunctionReference.<>c__DisplayClass3_0.<.ctor>b__0(fxScriptContext* context) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/FunctionReference.cs:line 82
2024-04-23 17:43:23.361 +02:00 [EROR] (cssharp:Core) Error invoking callback
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.Exception: Config not yet loaded.
   at RetakesAllocatorCore.Config.Configs.GetConfigData() in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/Config/Configs.cs:line 37
   at RetakesAllocatorCore.Managers.RoundTypeManager.Initialize() in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/Managers/RoundTypeManager.cs:line 31
   at RetakesAllocatorCore.Managers.RoundTypeManager.get_Instance() in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/Managers/RoundTypeManager.cs:line 11
   at RetakesAllocatorCore.OnRoundPostStartHelper.Handle[T](ICollection`1 allPlayers, Func`2 getSteamId, Func`2 getTeam, Action`1 giveDefuseKit, Action`3 allocateItemsForPlayer, Func`2 isVip, RoundType& currentRoundType) in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/OnRoundPostStartHelper.cs:line 20
   at RetakesAllocator.RetakesAllocator.OnRoundPostStart(EventRoundPoststart event, GameEventInfo info) in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocator/RetakesAllocator.cs:line 454
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at CounterStrikeSharp.API.Core.FunctionReference.<>c__DisplayClass3_0.<.ctor>b__0(fxScriptContext* context) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/FunctionReference.cs:line 82
2024-04-23 17:44:03.153 +02:00 [EROR] (cssharp:Core) Error invoking callback
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.Exception: Config not yet loaded.
   at RetakesAllocatorCore.Config.Configs.GetConfigData() in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/Config/Configs.cs:line 37
   at RetakesAllocatorCore.Managers.RoundTypeManager.Initialize() in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/Managers/RoundTypeManager.cs:line 31
   at RetakesAllocatorCore.Managers.RoundTypeManager.get_Instance() in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/Managers/RoundTypeManager.cs:line 11
   at RetakesAllocatorCore.OnRoundPostStartHelper.Handle[T](ICollection`1 allPlayers, Func`2 getSteamId, Func`2 getTeam, Action`1 giveDefuseKit, Action`3 allocateItemsForPlayer, Func`2 isVip, RoundType& currentRoundType) in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/OnRoundPostStartHelper.cs:line 20
   at RetakesAllocator.RetakesAllocator.OnRoundPostStart(EventRoundPoststart event, GameEventInfo info) in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocator/RetakesAllocator.cs:line 454
   at InvokeStub_GameEventHandler`1.Invoke(Object, Object, IntPtr*)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at CounterStrikeSharp.API.Core.FunctionReference.<>c__DisplayClass3_0.<.ctor>b__0(fxScriptContext* context) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/FunctionReference.cs:line 82
2024-04-23 17:45:11.117 +02:00 [EROR] (cssharp:Core) Error invoking callback
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.Exception: Config not yet loaded.
   at RetakesAllocatorCore.Config.Configs.GetConfigData() in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/Config/Configs.cs:line 37
   at RetakesAllocatorCore.Managers.RoundTypeManager.Initialize() in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/Managers/RoundTypeManager.cs:line 31
   at RetakesAllocatorCore.Managers.RoundTypeManager.get_Instance() in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/Managers/RoundTypeManager.cs:line 11
   at RetakesAllocatorCore.OnRoundPostStartHelper.Handle[T](ICollection`1 allPlayers, Func`2 getSteamId, Func`2 getTeam, Action`1 giveDefuseKit, Action`3 allocateItemsForPlayer, Func`2 isVip, RoundType& currentRoundType) in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocatorCore/OnRoundPostStartHelper.cs:line 20
   at RetakesAllocator.RetakesAllocator.OnRoundPostStart(EventRoundPoststart event, GameEventInfo info) in /home/runner/work/cs2-retakes-allocator/cs2-retakes-allocator/RetakesAllocator/RetakesAllocator.cs:line 454
   at InvokeStub_GameEventHandler`1.Invoke(Object, Object, IntPtr*)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at CounterStrikeSharp.API.Core.FunctionReference.<>c__DisplayClass3_0.<.ctor>b__0(fxScriptContext* context) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/FunctionReference.cs:line 82
yonilerner commented 4 months ago

Can you show me like.. way more logs? If the config isn't being loaded, it means there must be an exception way earlier

RebornOG commented 4 months ago

Sorry i think this should provide more infos and these combined with the earlier ones are all the logs i have associated to the RetakesAllocator plugin:

Thank you for taking your time btw

/home/36343e05-312a-4a0b/gameserver/gameserver/game/csgo/addons/counterstrikesharp/plugins/disabled/RetakesAllocator/RetakesAllocator.dll"
System.IO.FileNotFoundException: Could not load file or assembly 'SQLitePCLRaw.batteries_v2, Version=2.1.7.2151, Culture=neutral, PublicKeyToken=8226ea5df37bcae9'. The system cannot find the file specified.

File name: 'SQLitePCLRaw.batteries_v2, Version=2.1.7.2151, Culture=neutral, PublicKeyToken=8226ea5df37bcae9'
   at RetakesAllocator.RetakesAllocator.Load(Boolean hotReload)
   at CounterStrikeSharp.API.Core.Plugin.PluginContext.Load(Boolean hotReload) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/PluginContext.cs:line 216
   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 56
   at CounterStrikeSharp.API.Core.Application.OnCSSPluginCommand(CCSPlayerController caller, CommandInfo info) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Application.cs:line 179
yonilerner commented 4 months ago

It looks like you dont have all the files from the plugin. Did you do something other than unzip the entire folder?

Also why is the plugin in the disabled folder?

RebornOG commented 4 months ago

Fixed that error now. The disabled folder is because im running a multi plugin setup on this instance. Im getting this error now which looks like a missing runtime for my specifc setup ?

2024-04-24 17:58:21.003 +02:00 [EROR] (cssharp:Core) Could not load plugin "/home/36343e05-312a-4a0b/gameserver/gameserver/game/csgo/addons/counterstrikesharp/plugins/disabled/RetakesAllocator/RetakesAllocator.dll"
System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Could not load file or assembly 'System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.
yonilerner commented 4 months ago

Looks like a similar error. How are you extracting the files?

darkstars31 commented 3 months ago

I am also experiencing the empty hands issue after warmup. At the start of each round, players spawn in with no items. The Config was generated, I've made only slight changes to the RoundTypeSelection and how many rounds each type should get.

{
  "UsableWeapons": [
    "Deagle",
    "Glock",
    "USPS",
    "HKP2000",
    "Elite",
    "Tec9",
    "P250",
    "CZ",
    "FiveSeven",
    "Revolver",
    "Mac10",
    "MP9",
    "MP7",
    "P90",
    "MP5SD",
    "Bizon",
    "UMP45",
    "XM1014",
    "Nova",
    "MAG7",
    "SawedOff",
    "M249",
    "Negev",
    "AK47",
    "M4A1S",
    "M4A1",
    "GalilAR",
    "Famas",
    "SG556",
    "AWP",
    "AUG",
    "SSG08",
    "SCAR20",
    "G3SG1"
  ],
  "AllowedWeaponSelectionTypes": [
    "PlayerChoice",
    "Random",
    "Default"
  ],
  "DefaultWeapons": {
    "Terrorist": {
      "FullBuyPrimary": "AK47",
      "HalfBuyPrimary": "Mac10",
      "Secondary": "Deagle",
      "PistolRound": "Glock"
    },
    "CounterTerrorist": {
      "FullBuyPrimary": "M4A1S",
      "HalfBuyPrimary": "MP9",
      "Secondary": "Deagle",
      "PistolRound": "USPS"
    }
  },
  "MaxNades": {
    "GLOBAL": {
      "Terrorist": {
        "Flashbang": 2,
        "Smoke": 1,
        "Molotov": 1,
        "HighExplosive": 1
      },
      "CounterTerrorist": {
        "Flashbang": 2,
        "Smoke": 1,
        "Incendiary": 2,
        "HighExplosive": 1
      }
    }
  },
  "MaxTeamNades": {
    "GLOBAL": {
      "Terrorist": {
        "Pistol": "AverageOnePerPlayer",
        "HalfBuy": "AverageOnePointFivePerPlayer",
        "FullBuy": "AverageOnePointFivePerPlayer"
      },
      "CounterTerrorist": {
        "Pistol": "AverageOnePerPlayer",
        "HalfBuy": "AverageOnePointFivePerPlayer",
        "FullBuy": "AverageOnePointFivePerPlayer"
      }
    }
  },
  "RoundTypeSelection": "ManualOrdering",
  "RoundTypePercentages": {
    "Pistol": 15,
    "HalfBuy": 25,
    "FullBuy": 60
  },
  "RoundTypeRandomFixedCounts": {
    "Pistol": 5,
    "HalfBuy": 10,
    "FullBuy": 15
  },
  "RoundTypeManualOrdering": [
    {
      "Type": "Pistol",
      "Count": 5
    },
    {
      "Type": "HalfBuy",
      "Count": 6
    },
    {
      "Type": "FullBuy",
      "Count": 19
    }
  ],
  "MigrateOnStartup": true,
  "ResetStateOnGameRestart": true,
  "AllowAllocationAfterFreezeTime": true,
  "UseOnTickFeatures": true,
  "EnableRoundTypeAnnouncement": true,
  "EnableRoundTypeAnnouncementCenter": false,
  "EnableBombSiteAnnouncementCenter": false,
  "BombSiteAnnouncementCenterToCTOnly": false,
  "DisableDefaultBombPlantedCenterMessage": false,
  "ForceCloseBombSiteAnnouncementCenterOnPlant": true,
  "BombSiteAnnouncementCenterDelay": 1,
  "BombSiteAnnouncementCenterShowTimer": 5,
  "EnableBombSiteAnnouncementChat": false,
  "EnableNextRoundTypeVoting": false,
  "NumberOfExtraVipChancesForPreferredWeapon": 1,
  "AllowPreferredWeaponForEveryone": false,
  "ChanceForPreferredWeapon": 100,
  "MaxPreferredWeaponsPerTeam": {
    "Terrorist": 1,
    "CounterTerrorist": 1
  },
  "MinPlayersPerTeamForPreferredWeapon": {
    "Terrorist": 1,
    "CounterTerrorist": 1
  },
  "EnableCanAcquireHook": true,
  "LogLevel": "Information",
  "ChatMessagePluginName": "Retakes",
  "ChatMessagePluginPrefix": null,
  "InGameGunMenuCenterCommands": "gunsmenu,gunmenu,!gunmenu,!gunsmenu,!menugun,!menuguns,/gunsmenu,/gunmenu,.gunmenu",
  "InGameGunMenuChatCommands": "guns,!guns,/guns,.guns",
  "ZeusPreference": "Never",
  "DatabaseProvider": "Sqlite",
  "DatabaseConnectionString": "Data Source=data.db; Pooling=False"
}

Retakes Config

{
  "Version": 9,
  "MaxPlayers": 9,
  "TerroristRatio": 0.45,
  "RoundsToScramble": 8,
  "IsScrambleEnabled": true,
  "EnableFallbackAllocation": false,
  "EnableBombsiteAnnouncementVoices": false,
  "EnableBombsiteAnnouncementCenter": true,
  "ShouldBreakBreakables": false,
  "ShouldOpenDoors": true,
  "IsAutoPlantEnabled": true,
  "QueuePriorityFlag": "@css/vip",
  "IsDebugMode": false,
  "ShouldForceEvenTeamsWhenPlayerCountIsMultipleOf10": true,
  "EnableFallbackBombsiteAnnouncement": true,
  "ShouldRemoveSpectators": true
}
darkstars31 commented 3 months ago

I did get my situation resolved. My environment is atypical I suppose, but I had issues with my user having access to the configuration file and to the data.db file.

yonilerner commented 3 months ago

Glad to hear thats sorted out!

For anyone else reading: Im going to close this ticket since there's not enough information to do anything with. At this point if a new issue comes up, please open a new issue with as much detail as possible :)