Trouble loading custom bot names
Hi everyone!
I'm trying to get my Quake 3 server to load a file with custom bot names, but nothing seems to work. I’ve searched the forum but couldn’t find a clear answer on how this is supposed to work.
I have a file called bots.txt with the following content:
{ name Xaero funname ^1Scorpion model xaero aifile bots/xaero_c.c }
And in my server config, I’ve added:
seta g_botsFile "bots.txt"
But the bots still load with default names, and it doesn’t seem like the custom file is being used at all.
bots.txt is located in fs_basepath/excessiveplus/ and in fs_homepath/excessiveplus/ but it's not loading, any results ...
Does anyone know the correct way to load a custom bot list in Quake 3 (Excessive Plus)? Any help or working examples would be greatly appreciated!
I'm using q3e engine if it matters.
Thanks in advance!
1. Copy any file with the .pk3 extension
2. Delete its contents (the file is opened either by a regular zip archiver or by this program PakScape, for Linux, only via Wine)
3. Rename it to zzzz-names.pk3 (the letters z set the priority, the priority is the code that was read last when sorting files)
4. Create a folder named scripts inside this file.
5. Put your bots.txt file inside the scripts folder.
6. Put the .pk3 file in the excessiveplus folder
Ready solution Download

But the question still remains - why doesn't the script load from the config?
This syntax with brackets for bots is applicable either in a .pk3 file or in a .pk3dir folder.
Option #1 (the best one) - set default names for bots in the .pk3 file.
Option #2 - create a regular folder inside the excessiveplus folder with any name, but with the extension .pk3dir at the - zzzz-names.pk3dir and create the scripts folder there in the same way, inside which bots.txt will be located. Advantage - it is read without archiving into a .pk3 file. Disadvantage - the priority between the zzzz-names.pk3dir folder and the zzzz-names.pk3 file will be towards the .pk3 file. Therefore, as soon as you go to a server with custom bots and download such a file, your bots will be read before this file and you will not understand why your bots do not work.
Option #3 - Adds bots immediately when the server starts, without waiting for gradual filling with the bot_minplayers command
This is how it is added via config.cfg (if you want to add additional bots, uncomment the lines or add two slashes to comment if you want to remove unnecessary bots):
addbot Anarki 1 red 0 ^o^0^7#F0#E9#F2#E1#F4#E5 addbot Biker 1 red 0 ^4#D3#D5^3#D0^1#C5#D2^3#CD^4#C1#CE //addbot Biker-Hossman 1 red 0 ^o^l^0^x9d883d^r#C1#D3#D3#CD#C1#CE^R#28_#21_#29 //addbot Biker-Cadavre 1 red 0 ^l^xff00ee^0^oMP3^3#8D^xff00eePlayer //addbot Bitterman 1 red 0 ^4^0^o^f#D3#D5^3#D0^1#C5#D2^3#CD^4#C1#CE //addbot Bones 1 red 0 ^xfaff00^xbc0000^o#ED#E1#F2#E9#EA#F5#E1#EE#E1 //addbot Bones-Argus 1 red 0 ^0^2^o^l^rZERO^0^1^RCOOL addbot Crash 1 red 0 ^6^7^o^l^rANGEL^0^1^RDEMON addbot Doom 1 red 0 ^x000000^7^o#FA#EF#F2#F2#EF //addbot Doom-Phobos 1 red 0 ^1^7^o^lHuyase-Ebasu addbot Grunt 1 red 0 ^xf20404^7^oM^a9I^a7R^a5A^a3G^a1E //addbot Grunt-Stripe 1 red 0 ^xe5e5e5^x381501^o#E3#EF#E3#EF#EE#F5#F4 addbot Hunter 1 red 0 ^0^x4c0033^f^x3500bf#CD^F^x5100bf#CD^b^x7300bf#CD^s^0^x4c0033^x8f00bf#CF^xa300bf#CE^xb600bf#D3^xbf00ac#D4^xbf008e#D2 ^xbf007c#CB^xbf0060#C9^xbf004f#CC^xbf003f#CC //addbot Keel 1 red 0 ^f^x00FFB2^0^o#80^F^x00F7C4#81^b^x00EFD6#82^b^x00E7E8#1D^F^x00DFFF#1E^f^x00D7FF#1F^f^x00CFFF#80^F^x00C7FF#81^b^x00BFFF#82^b^x00B7FF#1D^F^x00AFFF#1E^f^x0090FF#1F^f^x1A7FFF#80^F^x345EFF#81^b^x4D3DFF#82 //addbot Klesk 1 red 0 ^x001fd1^x000000^o^l^rJason^RStatham //addbot Lucy 1 red 0 ^f^r^0^x760079^x3500bf#CB^x5700bf#CF^x7300bf#D3^x8a00bf#CD^xa300bf#CF^xb600bf#CE^xbf00ac#C1^xbf007c#D5^xbf003f#D4^f^R^0^x760079^xbf003f#CB^xbf007c#CF^xbf00ac#D3^xb600bf#CD^xa300bf#CF^x8a00bf#CE^x7300bf#C1^x5700bf#D5^x3500bf#D4 //addbot Lucy-Angel 1 red 0 ^xf20404^7^o#D4#D7#E9#F8 //addbot Major 1 red 0 ^x00009b^7^o#F3#EE#E9#E3#EB#E5#F2#F3 //addbot Major-Daemia 1 red 0 ^f^l^o^0^xe27602#ED#E9#F4#E8#F5#EE^F^0^7#E3#E8#E1#EB#F2#E1^b^0^2#E2#EF#F2#F4#F9 //addbot Mynx 1 red 0 ^r^1Bull~^R^7Bull~^r^7#18^1#19^7#1A^s^R^7#12^1#13^7#14 //addbot Orbb 1 red 0 ^5^7^o#EA#EF#EE~#F3#CE#EF#F7^B#2A^f#2A^F#2A^b#2A //addbot Ranger 1 red 0 ^x210c00^xa03500^o#EA#E1#E3#EB~#F3#D0#E1#D2#D2#EF#F7 //addbot Ranger-Wrack 1 blue 0 ^0^3^o#D0#C9#CB#C1#C3#C8#D5~^3^0#DB#C0#DE#DF#DE#DD //addbot Razor 1 red 0 ^1^2^o^l#D0#E5#D0#D0#E5#D2#7E#01#04#03#1A //addbot Razor-Patriot 1 blue 0 ^x381805^xccae96^o#C3#92#C6#C6#C5#C5~^7^0#07#BE //addbot Sarge 1 red 0 ^xfce0b5^x5b4114^o^l#E1#CC~#E3#E1#D0#EF#EE#E5~^f#24 //addbot Slash 1 red 0 ^1^7^o#CF#CD~^r#1D#1E#1F^R#80#81#82 //addbot Sorlag 1 red 0 ^4^7^o#F3#C8#C1#D2#CB#CD#C1#CE^7^0^f#86^F#87^f#86^F#87^f#86 //addbot Tankjr-Gauntlet 1 blue 0 ^x000000^x00ff90^o^l#D4#E1#EE#EB //addbot Uriel 1 blue 0 ^o^xe4050b^0#C2^xe60448^0#F5^xe405a7^0#EC^x9105e4^0#EC^x5303e7^0#E5^x3603e7^0#D4^3^0^o^l^B#1F^f~#1F^F~#1F^b~#1F //addbot Visor 1 red 0 ^o^r^0^7#DA^7^0#E5^0^7#C2^7^0#D2^0^7#C1^R^7^0#DA^0^7#E5^7^0#C2^0^7#D2^7^0#C1 //addbot Visor-Gorre 1 red 0 ^1^0^o^xe7e703#F7^x81e802#E5^x46ea00#E9^x01e98c#C7^x03dbe7#C8^x0192e9#D4^s ^0#49#49#49^xbcbcbc#AD#AD#AD#AD#AD#AD^0#49#49#49 //addbot Visor-Lakerbot 1 red 0 ^xc4c822^x2c5e0d^o#C4#CF#CE#C1#D4#C5#CC#CC#CF^s^f^xb807af#1E#80#8B#82#1E //addbot Xaero 1 red 0 ^r^b^F^x000000#88^f^7#8D^s^R^B^f^7#88^F^x000000#8D^s^R^B^1^f#EA#E5#F3^3^F#F4#E5#F2^s^r^b^0^f#EA#E5#F3^7^F#F4#E5#F2^s^R^B^F^x000000^f#88^7#8D^s^r^b^f^7#88^F^x000000#8D^s // /kick allbots
Option #4 - Adds bots every time you load a new game or change maps
And so you can add bots via rotation.txt:
map Q3DM17 { $r_gamma = 1.20; // Gamma level - like brightness $r_overBrightBits = 1.0; // Overbrightness level - like contrast $r_intensity = 0.1; // Color intensity /load exampleconfig // Loads another config /kick allbots // Removes bots after the previous map so they don't get duplicated (I don't remember exactly if a slash is needed, but if the code doesn't run, then the slash needs to be removed.) addbot Anarki 2 red 0 ^6Anarki // Will add a bot addbot Anarki 1 red 0 ^o^0^7#F0#E9#F2#E1#F4#E5 addbot Biker 1 red 0 ^4#D3#D5^3#D0^1#C5#D2^3#CD^4#C1#CE //addbot Biker-Hossman 1 red 0 ^o^l^0^x9d883d^r#C1#D3#D3#CD#C1#CE^R#28_#21_#29 //addbot Biker-Cadavre 1 red 0 ^l^xff00ee^0^oMP3^3#8D^xff00eePlayer //addbot Bitterman 1 red 0 ^4^0^o^f#D3#D5^3#D0^1#C5#D2^3#CD^4#C1#CE //addbot Bones 1 red 0 ^xfaff00^xbc0000^o#ED#E1#F2#E9#EA#F5#E1#EE#E1 //addbot Bones-Argus 1 red 0 ^0^2^o^l^rZERO^0^1^RCOOL addbot Crash 1 red 0 ^6^7^o^l^rANGEL^0^1^RDEMON addbot Doom 1 red 0 ^x000000^7^o#FA#EF#F2#F2#EF //addbot Doom-Phobos 1 red 0 ^1^7^o^lHuyase-Ebasu addbot Grunt 1 red 0 ^xf20404^7^oM^a9I^a7R^a5A^a3G^a1E //addbot Grunt-Stripe 1 red 0 ^xe5e5e5^x381501^o#E3#EF#E3#EF#EE#F5#F4 addbot Hunter 1 red 0 }
TAB spaces are not placed normally here, but inside the file it looks like this:

1. Copy any file with the .pk3 extension
2. Delete its contents (the file is opened either by a regular zip archiver or by this program PakScape, for Linux, only via Wine)
3. Rename it to zzzz-names.pk3 (the letters z set the priority, the priority is the code that was read last when sorting files)
4. Create a folder named scripts inside this file.
5. Put your bots.txt file inside the scripts folder.
6. Put the .pk3 file in the excessiveplus folder
Спасибо!
PM sent Soul

Btw, that's if I send the command while the server is already running:
Maybe this is a working method just in the baseq3 folder, if you do not use the modification. And as I remember, when I loaded bots through this folder, there was a difference in using the bots.bot and bots.txt file extensions. I do not remember the nuances. Either there was a difference between the baseq3 and excessiveplus folders, or between Windows and Linux. But there was definitely a nuance that where bots.txt did not work, bots.bot did.
But overall, it seems that in the Excessive Plus modification, the g_botsFile method doesn't make much sense. Although, maybe someone will correct me, and someone here has succeeded.
And after I read this thread, I stopped trying to use the g_botsFile command, and I just found other ways.

Ok got it working perfectly now thanx to Warlock and WASP.SK !What we did was created a new folder in the "excessiveplus" folder,
named it "zz-mybots.pk3dir"
Created another folder inside that named "scripts"
Placed the "bots.txt" and (optional i think) ".bot" files in there.
Got the "set g_botsFile bots.txt" in server.cfg,
(don't know if thats even required with this method)Now the custom bots work perfect without a .pk3
Thanx again for the help!
I already tried something similar, but it didn't work.
Though, I didn't place my script in the scripts folder inside of .pk3 - with your .pk3 it worked, so I guess I just need to tweak it a bit for my setup.
Thanks a lot!
But the question still remains - why doesn't the script load from the config?