Re: Reporting of Bugs and Errors for E[POD]bot
Heyyo,
Ok, open up the liblist.gam file in your cstrike folder, and from there, look for this line: Code:
gamedll "dlls\mp.dll" Code:
//gamedll "dlls\mp.dll" |
Re: Reporting of Bugs and Errors for E[POD]bot
I believe I have found a bug in the code. Not being a c++ freak, I have not pinpointed the exact location but there seems to be a programming error in the creation of bots.
First, the code in dll.cpp checks to see how many clients are on server and compares to max_bots: // check if time to see if a bot needs to be created... if (bot_check_time < gpGlobals->time) { int count = 0; bot_check_time = gpGlobals->time + 0.5; for (i = 0; i < 32; i++) { if (clients[i].pEntity != NULL) count++; } // if there are currently less than the maximum number of "players" // then add another bot using the default skill level... //Bot auto-adding if ((count < max_bots) && (max_bots != -1) && (g_bAutoFill)) { BotCreate(NULL, NULL, NULL, NULL, NULL); } } I believe the above code has some type of logic error. Maybe the check for clients doesn't include bots? Then it will never stop.... that's what happens on my dedicated server. The above code will then call the creation routine in bot.cpp, void BotCreate. Here is another logical error. When trying to create a bot, but failing (probably because it has reached the maxuser limit, the code writes out the error code, "Max. Players reached. Can't create bot!\n" That is the message I get in my server console. It just creates this error in an ongoing process creating lagg and CPU consumption. The code then does this: max_bots = index; //Sets maxbots to the server limit. That is an error, for now it sets max_bots to a number other than the one in epb.conf!!! i.e. I have max_bots 4 in my config. I have maxusers 12 When I start server, this code adds 12 bots ignoring my config settings. Thats why I say there is a logical error in the first code. Then, when the code tries to create the 13th bot, it sets the max_bot from 4 to 12! Why??? Anyway, the code repeats itself. Fails to not create bot in dll.cpp, then tries to create a bot in bot.cpp // This call creates the Fakeclient BotEnt = g_engfuncs.pfnCreateFakeClient(c_name); This code that creates a bot will fail when the number of bots have reached the maxusers thus envoking // Did the Call succeed ? if (FNullEnt(BotEnt)) { if (pPlayer) UTIL_HostPrint("#Bot_Create_ServerFull"); else if (IS_DEDICATED_SERVER()) printf("Max. Players reached. Can't create bot!\n"); botcreation_time = 0.0; max_bots = index; //Sets maxbots to the server limit. } So, whoever is coding this stuff, please take a look and fix this. I believe the error is here: for (i = 0; i < 32; i++) { if (clients[i].pEntity != NULL) count++; } First, we don't need to check for 32 but for maxbots Second, I think that the array clients.pEntity doesn't include the amount of bots, does it? That would explain why the code tries to add more bots. I'm too tired now to go through the code and find oyut if it does or not....:-) Going to bed now... |
Re: Reporting of Bugs and Errors for E[POD]bot
Thanks for this point man. =) I will take a look. ;)
|
Re: Reporting of Bugs and Errors for E[POD]bot
in bot.cpp
change // Find a free slot in our Table of Bots index = 0; while ((bots[index].is_used) && (index < gpGlobals->maxClients)) index++; // Too many existing Bots in Game if (index == gpGlobals->maxClients) to // Find a free slot in our Table of Bots index = 0; while ((bots[index].is_used) && (index < max_bots)) index++; // Too many existing Bots in Game if (index == max_bots) |
Re: Reporting of Bugs and Errors for E[POD]bot
When I create de_dust on CS w/ EPB :
I always had a message SZ_GetSpace: Tried to write to an uninitialized sizebuf_t ??? How can i fix this problem so that i could run that map (de_dust) normally.... |
Re: Reporting of Bugs and Errors for E[POD]bot
I tryed and there is no such problem. Can you give me a screenshot?
|
Re: Reporting of Bugs and Errors for E[POD]bot
I loaded the latest EPD on my dedicated Linux CS 1.5 server (WON2) and while it basically works, there are a few issues:
1. I set "epb_max_bots 4" and left "epb_min_bots 0" in EPB.cfg which (according to the description) means that when I join the server one of the bots should leave. This doesn't happen. All four bots stay in the game when I join. 2. I replaced the names in EPBnames.txt with 15 names of my own (all of them fewer than 12 characters, all of them alphanumeric) however while two of the bots pick names from that file the other two are named "bot [number]" (where [number] is a two digit number) 3. The instructions in EPODbot/doc/manual.txt say to modify cstrike/titles.txt. I followed them, but when I type "epb_botmenu" at the in-game console I get something similar to what you see in the screenshot Black_Hunter posted earlier in this thread. Reading another thread on here I see there appears to be special modifications required for CS 1.5, however I can't download the file attached to THE_STORM's message (the forum just sends me a 1x1 GIF instead). Versions: CS 1.5 HLDS Linux 3.1.1.1e Metamod 1.18 (I'm loading EPD with this) AMX 0.9.9 Linux WON HLGuard 1.8 If anyone wants to test this on their own I have a page with the files and instructions needed to set up a server like mine: http://www.repeatoffender.net/~phorcephed/nowon/ |
Re: Reporting of Bugs and Errors for E[POD]bot
Here link for CS 1.5 with E[POD]bot's titles file. Extract it in to the your cstrike/ dir. It will fix the menu problem.
|
Re: Reporting of Bugs and Errors for E[POD]bot
Quote:
Please help.. what can i do for it to work (cs 1.6) |
Re: Reporting of Bugs and Errors for E[POD]bot
Be sure that you have the latest version of CS 1.6 from Steam and the latest version of EPB - 5.2
|
All times are GMT +2. The time now is 14:29. |
Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.