COD4 | Frontlines


Intelligent Server

What the hell is an Intelligent Server? How this works? Should I need to use that? How to turn it off? Are just few of the questions I received from server admins that simply refuse to read the documentation before setup a Frontlines server, and the first thing they do is kill the IS to work as a normal server.

This only shows how noob these admins are for not even try to evolve and of course to even care to read about it before decide, thinking they already know enough, which of course they didn't or they will NEVER do that, IS is the best thing ever created to FPS Admins and I'll show you here why.

Regular Servers

Ok, let's think together about what is a normal FPS admin config? you select the maps for the rotation, then the gametype (singular) to be played on each one, the rules of the server and that's all!

Talking about COD4, your server is empty and it's running SD in a very large map... 2 or 3 can connect but will be soooo boring then will go to another server. OR if some of these 3 guys is one admin, so he thinks let's play something more fun, what about a DM in Killhouse? what about play with only knifes? So he change the config and they finally have fun.

Then the server become full with 64 players, then change to the very tiny map Killhouse so what will all do? going to play somewhere else, or if have an admin online he will change the map to a bigger one, and keep the gameplay nice again.

So what these admins do in normal servers? they simply remove all small maps to avoid that, aside the problem of big maps with few players can't be resolved. Also respawn gametypes with so many players, or no respawn gametypes with just few, and several other combinations can NOT be resolved without a 24/7 admin present on the server.

Introduction to the Intelligent Server

Now imagine if all that above could be done automatically? If you have a server that think like you think, and will do the right move in the right moment to keep the gameplay nice on your server? This is not a dream anymore, this already exist and you have it when you get Frontlines!

And even better, you can set thousands of valid combinations, that combined with the Frontlines diverse options you can play over and over on the server for a year and still not played the same game twice! Your server will NEVER become boring like the normal one will become really fast, until you change the config.

Intelligent Server Concept

The first thing that a admin must change is the way he config the server. Is not more what your server WILL DO, but what the server CAN DO and CAN NOT DO. So if you set that right the server will think like you think, and do all the moves that you will do online to keep a nice gameplay when something not good happens.

So you gonna feed the IS with all your tastes, with which maps will be nice to play with few players? which ones with 20 players? which ones which ones with more than 40 players? which ones with the number of players that you want?

Then which gametypes will be nice to be played with few players? with lots of players? in this particular maps? or each ones are forbidden to play on those maps because will crash the server or simply make the gameplay very bad?

Also set which weapons allowed to few players? lots of players? or not allowed to that number of players? to that map rotation?

And what about make that all random? without the possibility to repeat until all options are used?

Now you are thinking that you will need to write a book to config the server! will be a hell!

Well, you were wrong again... it's very easy to setup all that in Frontlines and I'll show you how.

Intelligent Server Setup

The Intelligent Server already come very well configured with the mod. So now I'll teach you how all this works.

Frontlines Random Objectives

The first thing to do is enable the Frontlines Random Objectives on the mod setting this var:

set frontlines_random_objs 1

With that the server will load the remap files and will move in loading time the objectives to several places in each round. Then you will always have a different gameplay on every round.

Frontlines Random Maps

The first thing to do is enable the Frontlines Random Maps on the mod setting this var:

set frontlines_random_map 1

With that a map will be selected from the config, and will not be loaded again until all maps are loaded once then will restart all over again.

Frontlines Random Gametypes

Now you must look the Frontlines Random Gametypes, where gonna set the available gametypes to be played on your server with a good number of players.

For exemple you want to have only these 3 gametypes at your server : Search & Destroy, Battlefront and Commander. So set like this

set hajas_gametypes_list "sd, front, commander"

But you want to play Deathmatch only at the map Shipment, and no other gametype aside Deathmatch in this map. So in you maprotation you just need to do like was before, for exemple:

"mp_crossfire dm mp_shipment mp_strike mp_bog..."

Then in all maps will be randomly sd, front or commander, while only at mp_shipment you will have dm gametype.

You can also set to not repeat the last gametype, so you will never have two matches followed by the same gametype. To do that simply set this var to 1. Set to 0 to turn off.

set hajas_gametypes_random_norepeat 1

And like you already notice, you don't write anymore "gametype" or "map" in the rotations, with that we have a lot more space to add maps in the rotations since there a limit of 1024 chars to be set in a var.

Frontlines Size Rotations

Now you gonna set the main brain for the server, since you already know how to setup the maps to be random, the gametypes and also the map rotation.

A dream to any server admin is this feature (at least for me!). Now your server will never have large maps with few players, or small maps with more players than space available, all these problems are over right now with Frontlines Size Rotation.

You gonna set instead of 1 map rotation, you will setup 4... one with small maps, one with medium maps, other with large maps, and another with really huge maps. Then you gonna also set the limit of the players in each rotation.

Setup the Sizes (default config)
Variable Players Comments
hajas_rot_small 6 will load when have 6 or less players online
hajas_rot_large 30 will load when have from 30 to 54 players online
hajas_rot_huge 54 will load when have 54 or more players online

In this default config means that until 6 players will load the small maps, between 7 and 30 will load the medium size maps, with more than 30 will load the large maps, and with more than 54 will load the huge ones. Very simple but works great. Is that Cool? yeah... but I'll give you a lot more...

Now aside that, you can setup which gametypes you want to play in each Size Rotation from the small maps, the medium maps, at the large, and also on the huge ones. And this isn't all, you can also set the Weapon Modes to each size, which will give you 4 completely different configs to your server that will change automatically without any admin interference, respectively to the amount of players playing on that moment at your server.

No, of course I'm not talking about the max clients of your server, this will be always the same.

Setup the Maps Rotations
Variable Maps
hajas_small_rotation maps for a small number of players
hajas_medium_rotation maps for a medium number of players
hajas_large_rotation maps for a large number of players
hajas_huge_rotation maps for a huge number of players

So remembering that your already setup the Weapons Modes available before, those ones will be used in the MEDIUM size rotation, so you just need to setup the other three.

Setup the Weapons Rotations
Variable Weapons
hajas_small_rotation_weapons Weapons Modes available in the small rotation
hajas_large_rotation_weapons Weapons Modes available in the large rotation
hajas_huge_rotation_weapons Weapons Modes available in the huge rotation

Remembering again that your already setup the Gametypes available before, those ones will be used in the MEDIUM size rotation, so you just need to setup the other three.

Setup the Gametypes Rotations
Variable Gametypes
hajas_small_rotation_gametypes Gametypes available in the small rotation
hajas_large_rotation_gametypes Gametypes available in the large rotation
hajas_huge_rotation_gametypes Gametypes available in the huge rotation

After all that you already teached to the server what the maps you like to play relative to each band of players on the server. Also all the gametypes and weapons modes to each one, aside of course defined all the bands of number of players in your server.

Now you gonna setup what you don't like, and of course what can NOT be load, because a bad map that can crash your server or an incompatible gametype in a specific map, then the server will know everything he needs to admin your server 24/7 without you.

That's why the Bad Map List was created, then your server will be free of any crashes because bad coded maps without the need to remove them, you just need to write in the config what you can and you can't play with each these bad maps.

So maps without few gametypes objects, heli support or other bad coded stuff can be added to your rotation without the fear to play Airborne in a closed map like mp_steamlab or play Chopper in a map that doesn't have heli support.

Now you gonna ask, so mp_steamlab is a bad map? No! this map is perfect and work with all original gametypes, but he is a 100% indoors map, so is impossible play gametypes with Airborne support, or the ones that needs a Chopper for exemple. So you will not use this feature just to incomplete maps, but also to balance the gameplay.

Bad Map List
Variables Description
bad_map_list This is NOT used anymore!
map_var Gametypes list that this map CAN run without problems
(use * in the start to a list that this map CAN NOT run)

So for bad_map_list you used to set all maps that have any restrictions, but that list is not used anymore, for each map that you need to make exceptions just create a dvar with his name. Put there all gametypes that you can load in the map or start with * then put only the exceptions.

So "* chopper" means this map can run everything except Chopper gametype.
Then "war dom" means this map can ONLY run these 2 gametypes.

For exemple let's gonna set to each of these 3 maps below the exceptions:

set mp_aosta_valley "* chopper support airfight"
set mp_toujane_beta "war sd commander vip exterminate wrath savage"
set mp_naout "* sab ctf swarm"

So this means that on the map mp_aosta_valley you can load all gametypes available, with the exception of chopper, support & airfight. The map mp_toujane_beta can ONLY load one of these gametypes "war sd commander vip exterminate wrath savage". And the map mp_naout can also load ANY gametype with the exception of these 3 gametypes "sab ctf swarm".

Airborne Mode

Now with Airborne Mode you have also the option to add/remove it for each map, the symbol used by IS is ^ to make reference to Airborne Mode and is used like the * symbol.

Let's use the same exemple above:

set mp_aosta_valley "* ^ chopper support airfight"
set mp_toujane_beta "^ war sd commander vip exterminate wrath savage"
set mp_naout "* sab ctf swarm"

So this means now that on the map mp_aosta_valley you can load all gametypes available, with the exception of chopper, support & airfight and Airborne Mode. The map mp_toujane_beta can ONLY load one of these gametypes "war sd commander vip exterminate wrath savage" with or without Airborne Mode. And the map mp_naout can also load ANY gametype with the exception of these 3 gametypes "sab ctf swarm", since ^ is not inclued in the exceptions, you can play without problems with Airborne Mode too.

Then with that you can feed the Intelligent Server with all information he needs to admin your server 24/7 without you. All that combined of the several other features in Frontlines like Force Auto-Assign, Anti-Campign & Spawn Protection, will make the server have a really nice flow of gameplay, without any human interference.

So I don't believe anyone with some brain will want all that OFF on his server, am I right? :P

Back