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

STT crash MultiMod server after changed map with not precached error #21

Open
JPZV opened this issue Jan 29, 2021 · 2 comments
Open

STT crash MultiMod server after changed map with not precached error #21

JPZV opened this issue Jan 29, 2021 · 2 comments

Comments

@JPZV
Copy link

JPZV commented Jan 29, 2021

I have a MultiMod server running modes like Randomizer, Freak Fortress 2 (1.19. unnoficial) and STT (1.6). And I have this strange behavior where the server crashes after changed the map after playing STT. It doesn't happens immediately, and there seems to be some requirements in order to reproduce it:

Server:

  • OS: Windows (I didn't test it with Linux)
  • Sourcemod: 1.10 build 6502
  • SRCDS updated to the latest version.

Requirements:

  • At least four or five real players connected to the server.
  • Have played STT at least a complete round

Steps:

  • Load the server with any map that is not STT. In my case I used surf_utopia
  • Wait until you have at least four or five players connected.
  • Change to a STT map (I used pl_badwater). For making it a real world test, I changed the map using sm_setnextmap and mp_timelimit 1
  • Play a whole round (i.e. until the time runs over, or until the bomb explodes)
  • Change the map to another gamemode (I used vsh_egyptyspot_b4 and FF2)
  • Wait until the map is complete loaded and you spawn for the first round.
  • Crash

(Read the first comment for an updated procedure)

Crash: The crash hangs the server completely, giving the players time-out error. If you're using Windows and running the server in a cmd window, you will get this prompt:

Engine Error
---------------------------
142/ - tf_wearable_campaign_item:  UTIL_SetModel:  not precached: models/player/items/cyoa_pda/cyoa_pda.mdl

If you are running in a screen or service, it will hang for ever and you will have to restart it manually without any futher information.

Also, this happens using both the sm plugins unload/load method and tank_enabled 1/0.

If you need more info, please, just ask it. I will try to find a workaround for this and, if I found any, I will post a comment here.

@JPZV
Copy link
Author

JPZV commented Jan 29, 2021

Okey, doing some testing, I got a precise way for reproducing the error:

Requirements:

  • Having the Gravel Jungle Inferno Contracker equipped in a class.

Steps:

  • Load the server with any map that uses STT. In my case I used pl_badwater
  • Equip the Contracker in any class (I used Soldier for that)
  • Join to any team.
  • Change the map to another gamemode (I used vsh_egyptyspot_b4 and FF2). For that you can just use sm_map and you don't need to play any round in STT.
  • Wait until the map is completely loaded and spawn with the class that has the Contracker.
  • Crash

Sadly I still no have any clue for fixing it yet. I tried to use the SM File/Folder Downloader and Precacher for re-pre-caching the model, but sadly it didn't work.

@JPZV
Copy link
Author

JPZV commented Jan 31, 2021

I made a simple plugin as a temporal fix for this. Please note, this is NOT an ideal fix.

The usage is pretty simple: Just install the plugin (copy the .smx to the plugin folder and .sp to the scripting folder) and load it with sm plugins load tank_mm_fix (you can also change the map or just restart the server).
This plugin has to be running every time. Don't unload it even if you are not playing STT.
Also, I added the command tank_checkpad for checking if the Contracker was precached or not.

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

No branches or pull requests

1 participant