Can someone make a detailed installation tutorial of cod4x botwarfare

Ok i already fixed it. The problem was i wasn’t connected to any wifi if you want to play without wifi edit z_localserver.bat you see something about a dedicated server or something like that set it to to 0 for a listen server play local 1 for internet 2.

1 Like

Glad you got it sorted :slight_smile:

1 Like

hello thank you very much for the guide … I’m doing something wrong … the server works fine for a few hours and then it stops and throws this message … (image) … I think somewhere I read about the file … “_callbacksetup.gsx” …but now I can’t find where I read that … =( … my server uses the “new_experience” mod… and inside the “main_shared\maps\mp\gametypes” folder I already have a file called… “_callbacksetup.gsx”… I remember reading that it has to be replaced… … thank you very much in advance!

2022-11-09 00_10_49-WeWert Server Latam BO2 0_18

my … “_callbacksetup.gsx” …seems to be incomplete…?

CodeCallback_StartGameType()
{
// If the gametype has not beed started, run the startup
if(!isDefined(level.gametypestarted) || !level.gametypestarted)
{
[level.callbackStartGameType];

	level.gametypestarted = true; // so we know that the gametype has been started up

	level thread maps\mp\bots\_bot::init();
	level thread maps\mp\bots\_bot_chat::init();
	level thread maps\mp\bots\_menu::init();
	level thread maps\mp\bots\_wp_editor::init();
}

}


I just realized that this happens when entering a command of the “new experience” mod … example …“$fps” … the server crashes and that message appears (image) … I mean … how do I run the two mods in simultaneous? there are other servers that have both mods

I use both New Experience and Bot Warfare Mods and have no issues with $fps

can you post your full _callbacksetup.gsx file and I will compare it with mine

1 Like

In the past I have run both together with no issues.

Try running it with out the menu, chat and wp editor first and see how it goes.

Personally I did not bother with them. If it for you and friends then do you really need ?

My callbacksetup just had

level thread maps\mp\bots_bot::init();

1 Like

thanks for answering … ! I leave you here…

thanks for answering ! =) … how do I run it without …“the menu, the chat and the editor”

the server is a dedicated server… I mean, it’s public… it’s not just for my friends…

ok so your _callbacksetup.gsx is fine apart from the line to initiate the bots is missing:

Might be worth looking at your configs.

I run the NE config within my command line then at the bottom of this file I have
exec botsofwar.cfg

which then proceeds to run the server config

Are you set up similar?

1 Like

Downloaded your setup.

You have it loading the server config and then the NE config.

Try it the other way round

In your command line change +exec server.cfg to +exec config.cfg

Remove the entry of exec config.cfg from server.cfg
Add entry of exec server.cfg to bottom of config.cfg

Add the init thread for the bots to your _callbacksetup.gsx file

1 Like

Remove the bots dvars from your server.cfg file

Copy and paste these and alter to suit:

//******************************************************************************
// Load Bot Warfare DVAR's
//******************************************************************************

set bots_main 1
//Enable this mod.

set bots_main_firstIsHost 0
//The first player to connect will be given host.

set bots_main_GUIDs ""
//A comma separated list of GUIDs of players who will be given host.

set bots_main_waitForHostTime 0
//How many seconds to wait for the host player to connect before adding bots to the match.

set bots_main_menu 0
//Enable the in-game menu for hosts.

set bots_main_debug 0
//Enable the in-game waypoint editor.

set bots_main_kickBotsAtEnd 0
//Kick the bots at the end of a match.

set bots_main_chat 0
//	The rate bots will chat at, set to 0 to disable.

set bots_manage_add "8"
//amount of bots to add to the game, resets to 0 once the bots have been added

set bots_manage_fill "8"
//amount of players/bots (depends on bots_manage_fill_mode) to retain on the server, it will automatically add bots to fill player space.

set bots_manage_fill_mode "1"
// indicate if the server should consider only bots or players and bots when filling player space. 0 will consider both players and bots. 1 will only consider bots.

set bots_manage_fill_kick "0"
//whether or not if the server should kick bots if the amount of players/bots (depends on bots_manage_fill_mode) exceeds the value of bots_manage_fill.

set bots_manage_fill_spec "0"
//whether or not if the server should consider players who are on the spectator team when filling player space.

set bots_team "autoassign"
//indicates what team the bots should join autoassign allies axis custom

set bots_team_amount "0"
//amount of bots to have on the axis team if bots_team is set to 'custom', the rest of the bots will be placed on the allies team.

set bots_team_force "0"
//enforce periodically the bot's team instead of just a single team when the bot is added to the game.

set bots_team_mode "0"
// consider only bots or players and bots when counting players on the teams. 0 will consider both players and bots. 1 will only consider bots.

set bots_skill "2"
//value to indicate how difficult the bots should be.0 will be mixed difficultly 1 will be the most easy 2-6 will be in between most easy and most hard 7 will be the most hard. 8 will be custom.

set bots_skill_axis_hard "0"
//- an integer amount of hard bots on the axis team.

set bots_skill_axis_med "0"
//- an integer amount of medium bots on the axis team.

set bots_skill_allies_hard "0"
//- an integer amount of hard bots on the allies team.

set bots_skill_allies_med "0"
//- an integer amount of medium bots on the allies team, if bots_skill is 8 (custom). The remaining bots on the team will become easy bots.

set bots_skill_min 1
//The minimum difficulty level for the bots

set bots_skill_max	2
//The maximum difficulty level for the bots.

//for example: having 5 bots on the allies team, 'bots_skill_allies_hard 2' and 'bots_skill_allies_med 2' will have 2 hard bots, 2 medium bots, and 1 easy bot on the allies team

set bots_loadout_reasonable "1"
//whether or not if the bots should filter out bad create a class selections (like no silenced miniuzi with overkill perk, etc)

set bots_loadout_allow_op "0"
//whether or not if the bots are allowed to use jug, marty and laststand

set bots_loadout_rank 50
// what rank the bots should be around, -1 is around the players, 0 is all random

set bots_loadout_prestige 5
// what pretige the bots will be, -1 is the players, -2 is random

set bots_play_move 1
//bots move

set bots_play_knife 1
//bots knife

set bots_play_fire 1
//bots fire

set bots_play_nade 1
//bots grenade

set bots_play_obj 1
//bots play the obj

set bots_play_camp 0
//bots camp and follow

set bots_play_jumpdrop 0
//bots jump and dropshot

set bots_play_target_other 1
//bot target non play ents (vehicles)

set bots_play_killstreak 1
//bot use killstreaks

set bots_play_ads 1
//bot aim down sights

set bots_play_aim 1
//If the bots can aim.
1 Like

I did everything you explained to me… but I don’t know how and what to add to the “_callbacksetup.gsx” file… couldn’t you send the content of yours please…?

I don’t know which one is the “NE” configuration.

Thank you very much for your support …

your config.cfg is the NE config. Why not rename it config_ne.cfg so you know in future

Top of _callbacksetup.gsx:

CodeCallback_StartGameType()
{
	// If the gametype has not beed started, run the startup
	if(!isDefined(level.gametypestarted) || !level.gametypestarted)
	{
		[[level.callbackStartGameType]]();

		level.gametypestarted = true; // so we know that the gametype has been started up
		
		level thread maps\mp\bots\_bot::init();
		//level thread maps\mp\bots\_menu::init();
		//level thread maps\mp\bots\_wp_editor::init();

	}
}
1 Like

Oh by the way @CamouflageLvLCat, I have just realised you are not the threads original poster and have hijacked this thread. Any more help needed then please start your own thread as I don’t think the mods here like it when a thread gets hijacked :smile:

1 Like

ok … xd … it didn’t work … it keeps giving that error when executing “$fps” on the server … anyway thank you very much for your support ! very grateful … =) … so what i do for now is to change the name of the command and when executing “$fps” …the server doesn’t recognize it and doesn’t crash …so i can use all the most important features for me from the mod “new experience” … like the voting of maps and game modes at the end of the games … the fov … etc … in the same way if I want it to have “fullbright” or the “promod” mode … I can configure it by default … and so it can be used without having to execute the command … =) … maybe I’ll create a thread about that problem I have … for now I fix it like this =) … thank you very much sir ! Greetings from Argentina!

here is the solution to your problem just add this code to this file in the following path at the end
file:

main_shared\maps\mp\gametypes\_callbacksetup.gsx

code add:

/*================
Called by code when a script defined command has been invoked.
================*/
CodeCallback_ScriptCommand(command, arguments)
{
	self thread code\scriptcommands::commandHandler( command, arguments );
}
//=============================================================================

2 Likes

Hi JEENNN… thats not his problem as I downloaded his server files and checked the _callbacksetup.gsx and that code is in his file already.

1 Like

Thanks a lot !! it worked !! thanks for your time and effort! … on behalf of myself and all the players who join the server !!! =)

no bro, that line was not in “_callbacksetup.gsx” … that line solved the problem … thank you very much for your time and dedication! very grateful heart …! =)

no bro, that line was not in “_callbacksetup.gsx” … that line solved the problem … thank you very much for your time and dedication! very grateful heart …! =)

The _callbacksertup.gsx you shared above does have the code in so I can’t see how you said it doesn’t - If it was missing I would have told you to enter it.

SEE HERE:

This is from the file you shared:

/*================
================*/
callbackVoid()
{
}

/*================
Called by code when a script defined command has been invoked.
================*/
CodeCallback_ScriptCommand(command, arguments)
{
	self thread code\scriptcommands::commandHandler( command, arguments );
}
//=============================================================================