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

Reply via email to