AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Metamod:Source Questions (https://forums.alliedmods.net/forumdisplay.php?f=74)
-   -   ServerGameDLL003 not found in Day of Defeat: Source (https://forums.alliedmods.net/showthread.php?t=39072)

showdax 09-26-2005 23:14

ServerGameDLL003 not found in Day of Defeat: Source
 
Code:

Metamod:Source could not find ServerGameDLL003 in GameDLL: ./srcds/dod/bin/server_i486.so
Day of Defeat: Source uses ServerGameDLL004. I haven't tested making sourcemm just use the current interface as 004, but that might work. If not, I guess we have to wait for an SDK update or something?

BAILOPAN 09-26-2005 23:15

We will need an SDK update. Thanks Valve, for

a)Not updating the SDK, and
b)Not making a usable interface that allows for proper backward compatibility.

showdax 09-27-2005 02:24

Well 004 only adds two new functions, PostInit(void) and Think(bool). The rest don't change as far as I can tell. I'm guessing the return type for the former is bool and the latter is void. I'm thinking of making my own header file this and testing it out, but I'm not entirely sure how you'd implement it in sourcemm.

Maybe one could make a wrapper class for the two?

showdax 09-27-2005 05:17

Well well well:

Code:

Console initialized.
Game.dll loaded for "Metamod:Source"
Attempted to create unknown entity type event_queue_saveload_proxy!
maxplayers set to 32
Server logging enabled.
Server logging data to file logs/L0927034.log
L 09/27/2005 - 05:17:32: Log file started (file "logs/L0927034.log") (game "./srcds/dod") (version "2505")
maxplayers set to 2
Network: IP 70.84.105.119, mode MP, dedicated Yes, ports 27017 SV / 27006 CL
couldn't exec skill1.cfg
Executing dedicated server config file
Summary:  809 resources total 30.66 Mb, 45.68 % of capacity
couldn't exec dod_avalanche.cfg
Adding master server 69.28.151.178:27011
Adding master server 207.173.177.11:27011
Connection to Steam servers successful.
  VAC secure mode is activated.

meta list
-Id- Name              Version  Author      Status
[01] -                -        -            FAIL
meta
Metamod:Source Menu
usage: meta <command> [arguments]
  clear        - Unload all plugins forcefully
  cmds        - Show plugin commands
  cvars        - Show plugin cvars
  credits      - About Metamod:Source
  force_unload - Forcefully unload a plugin
  game        - Information about GameDLL
  info        - Information about a plugin
  list        - List plugins
  load        - Load a plugin
  pause        - Pause a running plugin
  refresh      - Reparse plugins file
  retry        - Attempt to reload a plugin
  unload      - Unload a loaded plugin
  unpause      - Unpause a paused plugin
  version      - Version information

My plugin failed due to not having ServerGameDLL003, ironically. I made CServerGameDLL store pointers for both interfaces, then use the new one if the old one is NULL. Obviously this isn't the best solution so I tried making a wrapper class. The server loaded fine but metamod itself seemed to get bypassed completely.

Also: I haven't tested the two new functions, so I'm not sure if my definitions will work properly. Here's the class I made for the new interface:

Code:

#define INTERFACEVERSION_SERVERGAMEDLL2 "ServerGameDLL004"

class IServerGameDLL2
{
        [functions from the old class]
        virtual bool PostInit(void) = 0;
        virtual void Think(bool) = 0;
};

If the definitions don't work, you could just make them do nothing in the wrapper class.

BAILOPAN 09-27-2005 08:19

Where did you find about these new functions?

showdax 09-27-2005 08:29

Quote:

Originally Posted by BAILOPAN
Where did you find about these new functions?

From the symbol table. I compared the functions CS:S had for CServerGameDLL to DoD:S's and noticed that the functions they shared didn't change. But it did have these two new functions:

0060acd0 T _ZN14CServerGameDLL5ThinkEb
0060a550 T _ZN14CServerGameDLL8PostInitEv

The "b" at the end of the first means it takes one bool argument. The "v" at the end of the second is void.

BAILOPAN 09-27-2005 08:30

Unfortunately dumping the symbol table isn't the same thing as having interface definitions. Valve needs to provide that before I add compatibility.

Update: I've e-mailed Alfred Reynolds asking for some clarification.

Spectral 09-28-2005 00:37

cool bail, please keep us updated so we can get sourcemm to work with dod:s.

Mani 09-28-2005 04:42

Quote:

Originally Posted by BAILOPAN
Unfortunately dumping the symbol table isn't the same thing as having interface definitions. Valve needs to provide that before I add compatibility.

Update: I've e-mailed Alfred Reynolds asking for some clarification.

I asked him on the day of the update regarding the interface version. He said that the SDK would indeed be updated but couldn't give me a timeframe.

Mani

Spectral 10-03-2005 21:29

any updates? I would like to get sourcemm installed on my server.


All times are GMT -4. The time now is 18:33.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.