.:: 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)

two_masks 29-04-2004 03:16

Uh oh- has CS update broken MetaMod?
 
This could be bad-

My Counterstrike 1.6 just updated itself (despite my having set it to never do so), and now it crashes after choosing a map... I suspect this is a metamod incompatibility that was introduced with the update? Has anyone else experienced this? Any thoughts on a fix?

-JB

sPlOrYgOn 29-04-2004 03:18

Re: Uh oh- has CS update broken MetaMod?
 
you sure you set it up right?
do you have a folder called cstrike/dlls with a file called mp.dll in it?

two_masks 29-04-2004 03:29

Re: Uh oh- has CS update broken MetaMod?
 
Well, it was set up right and working like a charm before the update... my metamod dll is in addons/metamod/dlls, and the path in liblist.gam matches. Does anyone else have this problem?

sPlOrYgOn 29-04-2004 03:31

Re: Uh oh- has CS update broken MetaMod?
 
okay try this...
change it to point to the mp.dll then start up a listen server then close it then change it to point at metamod.dll and try to start up listen server.

two_masks 29-04-2004 03:37

Re: Uh oh- has CS update broken MetaMod?
 
Hmm, that's odd. My mp.dll is no longer in the dlls directory. That must be the problem. why would the steam updater delete that? Could they have renamed it? At least it's not longer certain that metamod got trumped... just need to find my dll around somewhere!

Thanks for the help sPlOrYgOn- I was about to lose my head there since I have a project due using CS this Friday!

sPlOrYgOn 29-04-2004 03:38

Re: Uh oh- has CS update broken MetaMod?
 
just follow my instructions and the dll will appear...

two_masks 29-04-2004 03:46

Re: Uh oh- has CS update broken MetaMod?
 
You're the best! Does Steam just download dlls that it finds missing?

And for the record, it appears that this update has NOT broken metamod- my bots are back up and running as well as before =).

Thanks again,

JB

sPlOrYgOn 29-04-2004 03:48

Re: Uh oh- has CS update broken MetaMod?
 
what it actually did was delete the dll because it was old then it extracted the new dll from the steam cache file..

biohazerd87 29-04-2004 04:00

Re: Uh oh- has CS update broken MetaMod?
 
I had the same problem but i found it to be the liblist.gam valve added another line or something to the new liblist so i just edited that one

Pierre-Marie Baty 29-04-2004 22:19

Re: Uh oh- has CS update broken MetaMod?
 
My liblist.gam is read-only. Steam hasn't finished updating yet but I hope it won't break the update ? ?:(

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.

Whistler 01-05-2004 14:23

Re: Uh oh- has CS update broken MetaMod?
 
...and for Metamod:
Code:

mBOOL meta_load_gamedll(void) {
...........................
    if(!setup_gamedll(&GameDLL)) {
          META_ERROR("dll: Unrecognized game: %s", GameDLL.name);
          // meta_errno should be already set in lookup_game()
          return(mFALSE);
    }

+    // If the game DLL isn't there, try dumping it out of the Steam cache...
+    if (access(GameDLL.real_pathname, 0) == -1) {
+      int i;
+      unsigned char *filebuf;
+
+      i = strlen(GameDLL.real_pathname) - 1;
+
+      while (i >= 0) {
+          if (GameDLL.real_pathname[i] == '/')
+            break;
+          i--;
+      }
+
+      i++;
+
+      filebuf = LOAD_FILE_FOR_ME(UTIL_VarArgs("dlls/%s", &GameDLL.real_pathname[i]), &i);
+
+      if (filebuf) {
+          // Create the path for the file...
+#ifdef _WIN32
+          mkdir(UTIL_VarArgs("%s/dlls", GameDLL.gamedir));
+#else
+          mkdir(UTIL_VarArgs("%s/dlls", GameDLL.gamedir), 0777);
+#endif
+          FILE *fp = fopen(GameDLL.real_pathname, "wb");
+          if (fp) {
+              // dump the file and close it
+              fwrite(filebuf, i, 1, fp);
+              fclose(fp);
+          }
+
+          FREE_FILE(filebuf);
+      }
+    }

    // open the game DLL
    if(!(GameDLL.handle=DLOPEN(GameDLL.pathname))) {
          META_ERROR("dll: Couldn't load game DLL %s: %s", GameDLL.pathname, DLERROR());
          RETURN_ERRNO(mFALSE, ME_DLOPEN);
    }

I'll send this to Will Day and hope he can fix this in next version.

auzie88 04-05-2004 03:21

Re: Uh oh- has CS update broken MetaMod?
 
i have no idea what u guys r talking about, i have the new update and when i start a LAN game it doesnt work. anyone wanna help?

Hardwood 04-05-2004 17:13

Re: Uh oh- has CS update broken MetaMod?
 
Auzzie are you using AMX. If not then I can't help. If you are then AMX is the problem. Go back a page of this thread and follow the link to amxxmod I posted.

PenPen 04-05-2004 22:51

Re: Uh oh- has CS update broken MetaMod?
 
Thanks Hardwood!
Although my problem was not exactly same as yours, your post gave me an idea to try fixing my problem.

=====

My post might help others with similar problem with mine.


Problem : After recent update (x2) my server won't start.

System : WinXP; Steam; Dedicated Server; MetaMod; AdminMod; StatsMe; Realbot WIP #9

Solution :
1. Change a line inside liblist.gam
from gamedll "addons\metamod\dlls\metamod.dll"
to gamedll "dlls\mp.dll"
2. Start Server and Quit.
3. Undo the changes done in Step #1.
4. Change a line inside plugins.ini under metamod folder.
from
win32 ../realbot/dll/realbot_mm.dll
Win32 addons/adminmod/dlls/admin_MM.dll
win32 addons/statsme/dlls/sm_cstrike_mm.dll
to
Win32 addons/adminmod/dlls/admin_MM.dll
win32 addons/statsme/dlls/sm_cstrike_mm.dll
5. Start Server and Quit.
6. Undo the changes done in Step #4.

Bingo!

=====

I am not sure why above steps solved my problem, but it solved my problem twice. April-29 update and May-4 update.

I hope there's a better solution, so I wouldn't have to do above everytime steam updates something.

Whistler 05-05-2004 08:16

Re: Uh oh- has CS update broken MetaMod?
 
okay I have updated this for Metamod. you can get one copy from http://yapb.yeah.net and you won't need to modify liblist.gam every time after Steam update.

Eskimo 04-06-2004 14:20

Re: Uh oh- has CS update broken MetaMod?
 
i went to the metamod fix link, but the page couldn't be displayed....

Whistler 05-06-2004 06:46

Re: Uh oh- has CS update broken MetaMod?
 
1 Attachment(s)
oops, there seems to severe server problems w/ planet.time.net.my.
If you need it, you can compile the source code yourself of get it here...

*edit*: I think someone should really update the BU version of metamod like this and delete this file to save some space on the server :)

sPlOrYgOn 05-06-2004 12:18

Re: Uh oh- has CS update broken MetaMod?
 
no...
metamod is now being updated again..
and they put it on sourceforge maybe someone should submit this to them...

stefanhendriks 05-06-2004 17:23

Re: Uh oh- has CS update broken MetaMod?
 
The crash problem is because MP.DLL gets deleted on a STEAM UPDATE! So, when you run a game, metamod.dll will not find a dll to hook to and crash. Simple as that.

By just renaming the liblist.gam into liblist.old. Then START a new server, and after you created one, you quit it.. You already fixed your problem.

Most of the time you can just rename back the liblist.old into liblist.gam but to be sure you should check out any changes (although it hasnt been changed at all since any CS update afaik)

sPlOrYgOn 05-06-2004 17:35

Re: Uh oh- has CS update broken MetaMod?
 
yea we know that already :D

SoUlFaThEr 05-06-2004 17:36

Re: Uh oh- has CS update broken MetaMod?
 
um....i didnt do anything.......and it worked
or did it not correctly update my CS....i used mm1.17 still and got no crash with pod and amx modx still plugged in.

so whats up with all of you?

sPlOrYgOn 05-06-2004 17:41

Re: Uh oh- has CS update broken MetaMod?
 
yea...
did you not update your cs or something?
or do know to extract the mp.dll first?
or are you accidently using Whistler's metamod?
well anyways you're behind :D
now it's metamod 1.17.1 :D
www.metamod.org

Whistler 06-06-2004 03:46

Re: Uh oh- has CS update broken MetaMod?
 
oops, I have uploaded the wrong file, that is the original MetamodX 1.17x3. So don't download it. But looks like MM 1.17.1 has already got my fix you can just grab that version.

edit: yes, they have already fixed it...
Quote:

2004/05/31 1.17.1
- Additional entities for DoD 1.1.
- Added MOD recognition and entities for Hostile Intent 1.1.
- Added MOD recognition and entities for Natural Selection Beta 3.0.
- Additional entities for Sven Coop 3.0.
- Additional entities for Digital Paintball 2.1.
- Added MOD recognition for CS13, no new entities.
- Additional entity for The Specialits Beta 2.1.
- Additional entities for StargateTC Beta 2.3.
- Added MOD recognition and entities for Rocket Crowbar 2.
- Added MOD recognition and entities for Counter-Strike:Condition Zero.
- Additional entities for International Soccer Online 3.0
- Additional entities for Firearms 2.9 and one missing entity
for previous Firearms versions.
- On Windows Steam servers extract the gamedll file from the cache file if
it is missing in the dlls directory.

@splorygon: actually I have already sent this to will day


All times are GMT +2. The time now is 20:25.

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