Regarding the libraries scenefilecache and soundemittersystem:
Compile your dedicated server with -D_DLL_EXT=_srv.so instead of just
".so". The server (game) lib loads those SOs using the file ending
provided by the _DLL_EXT preprocessor define.
The loading of soundscapes is indeed broken. The game uses
filesystem->LoadKeyValues(...) to parse the file but that function
messes up the key names or whatever, I don't remember. You can get
around that by instead using pMyKVPointer->LoadFromFile(...), as is used
in most other places.
The offending function is used twice in game/server/soundscape_system.cpp.
It's also in game/client/c_soundscape.cpp, but I don't know if Linux
clients suffer from the same issue, or OSX clients/servers for that
matter as I've only compiled the Linux server thus far. Seems to work on
Windows client/server, so I just added the workaround in an #ifdef _LINUX.
Anyway that should do it.
- Ben
Rebel Yell wrote:
Found the issue. Turns out the dedicated server depot for SDK 2013
lacks 2 libs:
scenefilecache.so and soundemittersystem.so. While games as CS:S
work fine without those, mods complain about those missing files
and server shuts down with this message:
AppFramework : Unable to load module soundemittersystem.so!
Unable to load interface VSoundEmitter002 from soundemittersystem.so
So I copied those from the client repository and that was my
mistake. You either create a symlink from their respective _srv
versions or just copy and rename them, never take the ones meant
for clients.
That solves the error related to game_sounds_manifest.txt load,
not the soundscapes manifest one though.
TL:DR linux dedicated server is broken, it won't even load and
trying to fix it may cause further issues.
File encoding was one of the things I looked at before posting here, in
any
case I repeat that linux client is able to load sound scripts and
soundscapes when listen server is created. They are the same base sound
scripts, same game libs, etc. The SDK bin directory may differ a bit I
guess since dedicated servers require a few different libs.
I tried a gcc 4.8 compile just in case. No improvement, the stock SDK
build
shows same issue. I don't really know what else to try.
To be honest, I'd not care anymore about this mess if it wasn't because
the
current version of my mod on Steam is a nice engineered backdoor
disguised
as game. It's not my fault, I merged the fixes the first day they were
available, I can't just ship a mod that gets near 2 million installs
without sounds working properly.
Thanks anyway.
>It's probably the encoding of the txt file.
>//>//>/On Tue, Oct 6, 2015 at 12:31 AM, Rebel Yell <rebel.y3ll at
gmail.com <http://gmail.com>
<https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders>>
wrote: />//>/>* I decided to compile the stock SDK 2013 code today and
the
linux build />/*>* outputs the same error message when dedicate server
is
loading: />/*>>* CSoundscapeSystem::Init: Manifest
'scripts/soundscapes_manifest.txt' with />/*>* bogus file type
'ls/extinguish2_subrect', expecting 'file' />/*>>* Also note that these message errors
appear no matter if />/*>* soundscapes_manifest.txt is present or not, it's like the
actual file isn't />/*>* used at all. />/*>>* My linux test machine
uses Ubuntu 12.04.3 x86 and I
compiled the code with />/*>* gcc 4.6 />/*>>* Do you guys think there's
an error in my setup or this
engine build isn't />/*>* functioning properly? />/*/
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please
visit:
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders