.:: Bots United ::.

.:: Bots United ::. (http://forums.bots-united.com/index.php)
-   Metamod and metamod plugins (http://forums.bots-united.com/forumdisplay.php?f=15)
-   -   Uh oh- has CS update broken MetaMod? (http://forums.bots-united.com/showthread.php?t=1534)

Hardwood 30-04-2004 08:07

Re: Uh oh- has CS update broken MetaMod?
 
Well I'm glad to see I'm not the only one with this problem. :| I was just searching the Steam Forums looking for similar problems. I did find a thread with the same symptoms but he didn't mention whether he uses metamod.
Below is what I posted to that thread.



I've got the same problem... i.e. when my listenserver tries to load a map it crashes to desktop.
However..

I do have installed, and have been using, Metamod117, AMX96j, and PodBot2.6mm. Previous (2 weeks ago) to PodBot I used IvpBot with AMX et al. No problems.


Since the update..
I can use IvpBot withOUT Metamod and AMX
I simply can't use Metamod and AMX
I cannot get PodBot to work, but then again I've only successfully used it with Metamod as it's designed for.
Listenserver without bots or metamod/amx is fine.


Thanks for any ideas.

sPlOrYgOn 30-04-2004 08:14

Re: Uh oh- has CS update broken MetaMod?
 
podbot 2.6mm does work with cs1.6 still.
so does metamod and amx and statsme.
tried them all.
[edit]
when cs updates it'll delete your dlls/mp.dll and all you have to do is start a listen server up without metamod or anything.
Then shut down the server and install metamod and everything and start up your listen server again and it'll work perfectly fine.

if that doesn't fix it, perhaps you should see if there are any newer versions of the plugin you are using.
[/edit]

Hardwood 30-04-2004 16:33

Re: Uh oh- has CS update broken MetaMod?
 
It's not the mp.dll thingy, as I can use a listenserver with or without IvpBot.

The difference between you and me may be that I start metamod with the command line flag -dll addons\metamod\dlls\metamod.dll and not the liblist.gam

I'll reduce metamod to the bare essentials (as far as plugins go) and see if that helps.

Hardwood 30-04-2004 19:25

Re: Uh oh- has CS update broken MetaMod?
 
I just perused the AMX forums. It appears AMX is broken when used with a listenserver. If anyone has MMod AMX and bots working on a "LISTENSERVER" please post which version of AMX you're using. I've tried 2 versions and no joy.

Thanks

sPlOrYgOn 30-04-2004 22:07

Re: Uh oh- has CS update broken MetaMod?
 
i'm using amx 0.9.8a and it works fine with steam..
I would suggest using liblist.gam because I don't know exactly what -dll does.
It might even restrict things.
But if -dll does the same as just changing it in liblist.gam then it's okay.

btw try not to double post..
you can edit as long as you do it within 720 minutes

Hardwood 01-05-2004 02:08

Re: Uh oh- has CS update broken MetaMod?
 
Sorry about the recently close postings. Anyhow.. here's an answer from the creator of AMXmodX


The recent Steam update has messed up some listen servers. If AMX Mod X is not working, follow these steps for Cstrike (similar for Czero):

1. Find your liblist.gam in C:\Program Files\Steam\SteamApps\Email@addy\Counter-Strike\cstrike\liblist.gam.
2. Change the "gamedll" line to "dlls\mp.dll"
3. Start a listen server, then exit. (this resyncs mp.dll because the update deleted it).
4. Replace the gamedll line back to "addons\metamod\dlls\metamod.dll"
5. Replace the amxx_mm.dll with the new one I have attached.

As always, please use Metamod 1.17X3 because that I have corrected for engine signatures.

The reason behind the crashes is firstly the steam update deletes mp.dll and does not resync the file unless your liblist.gam is accurate.
The second crash bug is because for some reason AMX modules are not being attached to metamod properly. AMXx mod then tries to cause a graceful? exit because the modules fail to load fully, and then it crashes.

My solution: PM has created some very ingenious new Module API for AMXx 0.20... so yes this binary is an ALPHA that I compiled IN DEBUG MODE from CVS, and it seems to correctly load modules on Listen Servers.

Until I can find why listen servers no longer let metamod amx modules load, use this binary. You should not use it if you are running a dedicated server, and if I find out that you are, I just may bite you!

Also note that since this is a problem in the AMX core, it will be "officially" fixed in AMXx 0.20 because of PM's API (and I don't think AMX 0.9.8 will ever have a fix)


You can grab the .dll from the thread below. Hope it helps you guys who are still stuck.

http://www.amxmodx.org/forums/viewtopic.php?t=1713

sPlOrYgOn 01-05-2004 02:17

Re: Uh oh- has CS update broken MetaMod?
 
how strange I use 0.9.8a for steam...
[edit]
oh no wonder...
I was testing podbot and I removed amx from the plugins.ini...
[/edit]

Huntkillaz 01-05-2004 04:02

Re: Uh oh- has CS update broken MetaMod?
 
aye ur right.. i got mp.dll missin but i just checked my liblist.gam\liblist.rbn file:

game "Counter-Strike"
url_info "www.counter-strike.net"
url_dl ""
version "1.6"
size "184000000"
svonly "0"
secure "1"
type "multiplayer_only"
cldll "1"
hlversion "1111"
nomodels "1"
nohimodel "1"
mpentity "info_player_start"
gamedll "addons/metamod/dlls/metamod.dll"
gamedll_linux "dlls/cs_i386.so"
trainmap "de_dust"


it's pointing correctly at metamod.
metamod's set up correctly....

edit:

whoops didn't read hardwoods post....all fixed now thanx Hardwood :)

Whistler 01-05-2004 13:33

Re: Uh oh- has CS update broken MetaMod?
 
...I'm doing this in current YaPB:
Code:

#ifdef _WIN32
#ifdef __BORLANDC__
extern "C" DLLEXPORT void WINAPI GiveFnptrsToDll(enginefuncs_t* pengfuncsFromEngine, globalvars_t *pGlobals)
#else
void WINAPI GiveFnptrsToDll( enginefuncs_t* pengfuncsFromEngine, globalvars_t *pGlobals )
#endif
#else
extern "C" DLLEXPORT void GiveFnptrsToDll( enginefuncs_t* pengfuncsFromEngine, globalvars_t *pGlobals )
#endif
{
  // get the engine functions from the engine...
  memcpy(&g_engfuncs, pengfuncsFromEngine, sizeof(enginefuncs_t));
  gpGlobals = pGlobals;

  if (g_bIsMMPlugin)
      return; // we needn't load the game DLL if we're running in Metamod

  char szGameDLLName[256];
  GetGameDirectory(szGameDLLName);

  // load the actual Counter-Strike Game DLL
#ifdef _WIN32
  strcat(szGameDLLName, "/dlls/mp.dll");
  h_Library = LoadLibrary(szGameDLLName);
#else
  strcat(szGameDLLName, "/dlls/cs_i386.so");
  h_Library = dlopen(szGameDLLName, RTLD_NOW);
#endif

  if (!h_Library)
  {
      // try to extract the game DLL out of the Steam cache
      int size;
#ifdef _WIN32
      unsigned char *filebuf = LOAD_FILE_FOR_ME("dlls/mp.dll", &size);
#else
      unsigned char *filebuf = LOAD_FILE_FOR_ME("dlls/cs_i386.so", &size);
#endif

      if (filebuf)
      {
        CreatePath(szGameDLLName);

        FILE *fp = fopen(szGameDLLName, "wb");
        if (fp)
        {
            // dump the file and close it
            fwrite(filebuf, size, 1, fp);
            fclose(fp);
        }
        FREE_FILE(filebuf);
      }

#ifdef _WIN32
      h_Library = LoadLibrary(szGameDLLName);
#else
      h_Library = dlopen(szGameDLLName, RTLD_NOW);
#endif
  }

  if (!h_Library)
      TerminateOnError("Fail to load game DLL !");

  other_GetEntityAPI = (GETENTITYAPI)GetProcAddress(h_Library, "GetEntityAPI");
  other_GetNewDLLFunctions = (GETNEWDLLFUNCTIONS)GetProcAddress(h_Library, "GetNewDLLFunctions");
  other_GiveFnptrsToDll = (GIVEFNPTRSTODLL)GetProcAddress(h_Library, "GiveFnptrsToDll");

  GetEngineFunctions(pengfuncsFromEngine, NULL);

#ifdef _WIN32
  LoadSymbols(szGameDLLName);  // Load exported symbol table
  pengfuncsFromEngine->pfnFunctionFromName = FunctionFromName;
  pengfuncsFromEngine->pfnNameForFunction = NameForFunction;
#endif

  // give the engine functions to the other DLL...
  (*other_GiveFnptrsToDll)(pengfuncsFromEngine, pGlobals);
}


Pierre-Marie Baty 01-05-2004 14:16

Re: Uh oh- has CS update broken MetaMod?
 
That is a nice fix Whistler !
I was thinking about the PMTools to do that but it's obviously much smarter to integrate it directly in the metamod code.


All times are GMT +2. The time now is 10:08.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.