Trouble loading custom bot names

52 replies [Last post]
Soul Assassino
Offline
Joined: Nov 2023
Posts:
UA Ukraine

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!

ANABOLIC 007
Vladimir Putin's picture
Offline
Joined: Oct 2024
Posts:
RU Russian Federation
Re: Trouble loading custom bot names

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

Soul Assassino
Offline
Joined: Nov 2023
Posts:
UA Ukraine
Re: Trouble loading custom bot names

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?

ANABOLIC 007
Vladimir Putin's picture
Offline
Joined: Oct 2024
Posts:
RU Russian Federation
Re: Trouble loading custom bot names
Soul Assassino wrote:


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:

nvn
Offline
Joined: May 2025
Posts:
EU Europe
Re: Trouble loading custom bot names
ANABOLIC 007 wrote:

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

Спасибо!

FUBAR*ELITE'Z
Fubar's picture
Offline
Joined: Feb 2009
Posts:
RO Romania
Re: Trouble loading custom bot names

PM sent Soul

Soul Assassino
Offline
Joined: Nov 2023
Posts:
UA Ukraine
Re: Trouble loading custom bot names

Btw, that's if I send the command while the server is already running:

JIVA
Jiva's picture
Offline
Joined: Jun 2006
Posts:
CZ Czech Republic
Re: Trouble loading custom bot names
Soul Assassino
Offline
Joined: Nov 2023
Posts:
UA Ukraine
Re: Trouble loading custom bot names

No, I tried the method Anabolic suggested, and it worked for me - thanks! Your version is basically the same as mine now

ANABOLIC 007
Vladimir Putin's picture
Offline
Joined: Oct 2024
Posts:
RU Russian Federation
Re: Trouble loading custom bot names
Soul Assassino wrote:

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.

OneCredit wrote:
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!

Soul Assassino
Offline
Joined: Nov 2023
Posts:
UA Ukraine
Re: Trouble loading custom bot names

The only downside of using a .pk3 is that clients will get a message saying it's required - not mandatory to download, but still, the message shows up if auto-download is disabled.

It's not a real problem, but it's worth mentioning.