Yesterday some maps of the campaign "
[You must be registered and logged in to see this link.]" crashed when a player was connecting while the map was already running.
I've captured the server console while this happened.
Capture of server console when the map "lost04" is loaded:
- Code:
-
...
---- Host_Changelevel ----
L 05/01/2014 - 23:18:21: [META] Loaded 0 plugins (2 already loaded)
L 05/01/2014 - 23:18:21: Loading map "lost04"
L 05/01/2014 - 23:18:21: server cvars start
L 05/01/2014 - 23:18:21: "l4d2_guncontrol_grenadelauncherammo" = "30"
...
(many other cvars)
...
L 05/01/2014 - 23:18:21: "l4d2_flare_gun_ammo" = "1"
L 05/01/2014 - 23:18:21: server cvars end
#######################################
Map lost04 missing stringtable dictionary, don't ship this way!!!
#######################################
L 05/01/2014 - 23:18:28: Started map "lost04" (CRC "-1208316908")
L 05/01/2014 - 23:18:28: -------- Mapchange to lost04 --------
ConVarRef room_type doesn't point to an existing ConVar
Executing dedicated server config file
...
Capture of server console.
This appears neither in the server log nor in the SourceMod log file.
Player name, SteamID and IP changed for privacy.
- Code:
-
...
L 05/01/2014 - 23:29:35: "XYZ<557><STEAM_1:1:12345678><>" connected, address "11.22.33.44:27005"
Client "XYZ" connected (11.22.33.44:27005).
#####################################################################################
Can't recreate dictionary for maps/lost04.bsp, file must be writable!!!
#####################################################################################
Host_Error: Overflow error writing string table baseline Scenes
Host_Error: Overflow error writing string table baseline Scenes
Segmentation fault
Add "-debug" to the ./srcds_run command line to generate a debug.log to help with solving this problem
Do 1. Mai 23:29:35 CEST 2014: Server restart in 10 seconds
#Using breakpad minidump system
Using breakpad crash handler
#
#Console initialized.
#Game_srv.so loaded for "Left 4 Dead 2"
Server is hibernating
...
This campaign contained 4 out 6 maps with missing stingtables "stringtable_dictionary.dct" in the bsp files in the vpk file.
- lost01_club.bsp
- lost04.bsp
- lost02_1.bsp
- lost02_2.bsp
I've found something about the stringtable here:
[You must be registered and logged in to see this link.]I've unpacked the vpk to get the *.bsp files (and matching *.nav files):
- Code:
-
vpk.exe lost.vpk
Then I've loaded the bsp files alone in my local left 4 dead 2 server under windows:
- Code:
-
changelevel lost01_club
And created the stringtable with:
- Code:
-
stringtabledictionary
The stringtable is then embedded in the bsp automatically (checking the *.bsp file e.g. with
[You must be registered and logged in to see this link.] shows a "stringtable_dictionary.dct" file which was not present before)
Then I've put back the modified bsp files in the exctracted vpk directory from before.
And created a new vpk file with:
- Code:
-
vpk.exe lost
Sadly the client will need that new vpk file too.
I tried to connect with the old vpk in the client to my local server with the new vpk but the client said "stringtable differs"
But with the new vpk in the client I had no stringtable errors anymore.
Now we could verify if this modifed/fixed vpk would work on the real server.
We would need some guys playing e.g. map lost01_club for some minutes/meters and then another player joins a little later.
So 2 or 3 playing and 1 joining a little later should be enough to check.
We should check that on 27019 because there it happened yesterday.
We could also check on 27017 if it happens there also (other set of plugins)
Or maybe I'll set up everything on 27016 and turn that server on for testing later.
Update: Testing was successful. Fixed campaign is installed on all servers.
Download the fixed "Lost" campaign here:[You must be registered and logged in to see this link.] (2017-05-13: Link updated because Dropbox has removed the public folders. I hope the download works again now.)
Alternative download:
[You must be registered and logged in to see this link.]Use 7zip to uncompress the file "lost_stringtable_fix.7z" to get the file "lost.vpk".
Stop L4D2.
Remove the old lost.vpk from your games addons folder.
Put the new lost.vpk in your games addons folder.
Restart L4D2.