9-01-2000 Release features: (Scew the new stuff, take me to the Q&A!!)
New configuration options :
These options are implemented in the serverConfig.cs /
matchConfig.cs
1) Tourney Chat Options -
==================================================================================================
$Shifter::GlobalTChat = True;
// True - All players can chat global in Tourney Mode
// False - Only players marked as Leader, Admin or SuperAdmin can chat.
2) New Admin options -
==================================================================================================
A) Clear Players TK Counts (For those super FUN indoor crazy matches where you know people can help but TK here and there.
B) Grant / Revoke No Ban - Allows admin to do just that... Only valid for the length of time a player is logged on to the server, this is NOT saved to a
file.
C) Kill / Ban / Kick players now has a separate menu.
3) AutoAdmining - Automatically placing players as Admin, SuperAdmin and NoBan has become very easy. The server admin now has the option to Admin or SuperAdmin players, each permitting different abilities. (see list):
==================================================================================================
Normal Admin Abilities :
1) Change Players Team- Player Selected
2) Globally Mute/UnMute- Player Selected
3) Lock/Unlock Players Team- Player Selected
4) Set Mission Time Limit
5) Select Touney/FFA Mode
6) Change Mission
7) Cycle Mission
Super Admin Abilities :
1) Kill,Ban or Kick Players- Player Selected
2) Clear Players TK Count- Player Selected
3) Grant/Revoke No Ban Status- Player Selected
4) Admin/DeAdmin Players- Player Selected
5) Give/Remove Penis Curse- Player Selected
6) Enable MATCH Mode
7) Reset Server To Defaults
Optional Super-Admin Abilities
8) Locking Missile On/Off Toggle.
9) Turn On/Off Kill Counts For Turrets.
This will allow server admins a greater range of control over the Admin - SuperAdmin - NoBanned - SAD features.
A sample block is given below:
//--------------------------------------------== 1 Turns ON AutoAdmin (If player has IP mask they will be autoadmined)
$Server::Admin["autoa", "Emo1313"] = 1;
//--------------------------------------------== 1 Adds player to NOBan list
$Server::Admin["noban", "Emo1313"] = 1;
//--------------------------------------------== Ip mask for AutoAdmining check
//--------------------------------------------== (Left blank will NOT Autoadmin, MUST contain an IP mask to Autoadmin)
$Server::Admin["ipadr", "Emo1313"] = "IP:208.188.5";
//--------------------------------------------== Optional SAD password for user -
//--------------------------------------------== Left blank user will NOT be able to use SAD
//--------------------------------------------== ability and will need to be auto-admined
$Server::Admin["sadpw", "Emo1313"] = "password";
//--------------------------------------------== 1 Sets User to Normal Admin
$Server::Admin["admin", "Emo1313"] = 1;
//--------------------------------------------== 1 Sets User to BOTH Normal/SuperAdmin
$Server::Admin["super", "Emo1313"] = 1;
Setting any of the numbered options from 1 to 0 will set that attribute to OFF
Super Admin will of course set players to both Normal and Super admin.
So the block of info per player would look something like this.
$Server::Admin["autoa", "Dastardly"] = 1;
$Server::Admin["noban", "Dastardly"] = 0;
$Server::Admin["ipadr", "Dastardly"] = "IP:208.188.5";
$Server::Admin["sadpw", "Dastardly"] = "password";
$Server::Admin["admin", "Dastardly"] = 1;
$Server::Admin["super", "Dastardly"] = 0;
This player would be AutoAdmined at log on.
This player would also be able to use SAD("password"); on the console if playing from a different machine.
This player would NOT be on the NO BAN list.
This player would ONLY be a normal Admin.
4) No Swearing - Will mute and eventually ban players for swearing.
==================================================================================================
$Shifter::noSwearing =
True; //True = On / False = Off
$Shifter::NoSwearing="True"; // == True means disallow swearing on your server? (update the SHBadwordlist.cs file)
$Shifter::BadWordsMax=1;
// == If no swearing, This value is the limit at which the client starts being killed for swearing
$Shifter::BadWordskick=2;
// == If no swearing, This value is the limit at which the client is kicked for swearing
This function relies on a file in the /Tribes/Config directory called SHBadwordlist.cs
A sample file is included in the Shifter Zip file.
5) Missile Limits - If ANY of these are set they will over ride the default settings for Missile limits.
==================================================================================================
$Shifter::Missile_EMP - EMP MissileDefault - 25
$Shifter::Missile_GAS - Poison MissileDefault - 25
$Shifter::Missile_PHE - Phoenix MissileDefault - 35
$Shifter::Missile_NAP - Napalm MissileDefault - 15
$Shifter::Missile_BOM - Havoc MissileDefault - 15
$Shifter::Missile_SPY - Spy PodsDefault - 100
example: $Shifter::Missile_EMP="15"; would limit the EMP missiles to 15 per team.
6) Scoring Options: These options allow you to turn On and Off Objective Scoring and Player Kill scoring
Using these options is NOT suggested, they are for DEBUG ONLY. If they are not included these will default
to ON/TRUE.
==================================================================================================
$Shifter::ObjScore = "True";
// Allow Objects Being Destroyed To Award Bonus Points
$Shifter::PlrScore = "True";
// Allow Player Bonus Points To Be Awarded
7) Public Notice - If this is set to something besides NULL (""), the message will be displayed every so often
after a player spawns.
==================================================================================================
$Shifter::PublicNotice = "This server is in testing mode. If things are odd, please dont complain.";
8) Other New Options
==================================================================================================
$Shifter::TwoMinute = "True";
// == Two Minute Warning Notice On/Off (Default = True)
$Shifter::LooseScore = 0.75;
// == This is the score ratio for the loosing team. 0.5 for instance would cut a loosing players score by 1/4.
==================================================================================================
Miscellaneous bug fixes:
1) Fixed - GodHammer Bug/Exploit.
2) Fixed - Observers getting placed on team when teams are juggled.
3) Fixed - Players spawning in the wrong base when teams are juggled.
4) Missile Station limits and other wise... We have made the Missile Station NON-Deployable on Air-Bases... Emplacements are still ok, just NOT on an AirBase. Unseen Missile
Jockeys who have ABSOLUTELY NO RISK involved in missile firing are REALLY annoying.
Also the ASTRONOMICAL points that you gain for missile kills will be removed... More normal points will be gained. Its not like it takes any real effort to plow over something with a missile. Point values are now a little more like the normal way of killing things... I really
don't want to here any complaints about this because the scoring system was not originally designed with the Guided Missiles in mind, and the absurd scores where certainly not intended to happen the way they have been... Sorry, no more 1000+ points games for some one who sits in the same place for the whole mission.
5) Missile trails functions correctly now, (again)...
6) Flyer trails have been tweaked a good deal and look very nice and realistic...
7) Added Chase Cam options for observer modes... Allows you to follow the player including keeping the players facing at all times. This certainly will add to a ref's ability to moderate games and keep an eye on the players.
8) Plasma Gun tweaked...
8a) Multi-Fire has been tweaked to provide a perfectly even spread, no more condensed spreads some times and complete spreads the other times. The pattern is perfectly
consistent no matter what the facing of the player.
8b) The normal mode has gotten a new image and been supped up as far as speed and power go.
8c) The Multi-Fire mode uses 2 Ammo now instead of the standard 1.
8d) Rapid-Fire has increased in power and speed.
9) Flyers have received a new effect. When flyers become damaged they now smoke... Twin smoke trains will let the enemy know that the flyer that is
approaching is damaged. Flyers that receive more damage will also catch on fire, this does NOT add more damage to the flyer but produces a large burning trail that follows the flyer. (Trails will be made server configurable, so that server admins can turn them on and off).
10) Flame Thrower has gotten a new effect as well, looks MUCH more like a flamer.
11) Added BoomStick death messages that actually work.
12) Fixed a particularly nasty bug in the Telepad... (Thanks for the info
Quik!)
13) Fixed up a slight cheat with the deployable Generator
14) Arbitor device bug fixed.
15) Nuke explosion tweaked a little.
16) The Interceptor PACK has been limited. If you are interested in using interceptors after the pack limit has been used, It
is suggested you keep your flyer pad working.
17) Small bug with one of the flyers was also fixed up.
18) The deployable sensor jammer has now been limited to the Engineer, Chem and Merc. The Sensor Jammer will now, within the radius of a Missile Jammer, completely nullify the effects of the missile jammer beacon.
19) Missle Jammer beacon for Engineer is now gone. We have added a new Beacon, like the EMP or Shield beacon that will jam missiles at up to 75m. There is a new "dead" missile effect also which looks really nice.
20) Engineer energy has been supped up a little to help in deployment of
defense and offense.
21) AirBases and Emplacements are now completely destroyable ONLY by Nuke damaging weapons
22) Fixed up the Regen-pack bug for the Arbitor
23) Added WireGuided missiles
24) Enabled the 1.11 code to defeat cheats such as HappyMod, autobeacons
etc..
25) New observer Mode options added
26) Floating mortar bug fixed, along with more miscellaneous fixes and
tweaks...
Pre 9-01-2000 information (still important though)...
For those who have ran Shifter in the past, there are some new rules that apply.
The way it works is like this...
The in-game admin prepares to start the match, so they select the 'Enable match configuration' option from the TAB menu. The server executes the matchConfig.cs file and saves the new configuration to the temp directory. each mission cycle from here on reloads the stored data from the temp dir to maintain the match configuration. (the reason why we deleted the shifter_v1.cs file, to prevent overwriting the data at mission cycle)
When the server starts in tourney mode, teams are assigned by the tags set in the configuration file (matchConfig.cs) and any non matching players are set to observer for manual assignment.
When the match is finished, the admin then selects the option 'reset to server defaults' from the TAB menu, and the default serverConfig.cs file is executed and stored in the temp data directory.
This update should allow matches to be run without server admin intervention, and in a ladder situation, one default matchConfig.cs file can be created and distributed to all match servers to provide a contiguous and level playing field.
The following is a quick series of questions/answers for Shifter server operators.
Q: What is the difference between a dedicated server and a listen server?
Q: I've found a problem, where can I report it?
Q: My server is running, but people get kicked every time the mission cycles?!
Q: Can I have custom skins on my server?
Q: What is the difference between server side and client side maps?
Q: I added some maps and now people are getting kicked/dropped when it changes to them!?
Q: I installed the MOD, but when I connect it's still base?
Q: How can I tell from the console if shifter has started up and is running correctly?
Q: I get the error message Game::refreshClientScore: Unknown command and nobody can connect
Q: How do I remove missions I do not want in rotation?
Q: Can I create my own missionlist to run the missions in the order I want?
Q: My dog ate my serverConfig.cs file,... can I have yours?
Q: What happened to the shifter_v1.cs file?
Q: How do I make the teams be assigned automatically in tournament or match mode?
Q How do I use the new Match or Tournament features?
Q: I get an error invalid first mission/last mission?
Q: My server is running, but I can't see it in the server lists...
Q: I can't see a server in the browser list... is there a way I can add it manually?
Q: How do I talk to players in the game from the console?
Q: Can I see how many players are connected to my server from the console?
Q: I have an abusive player connected. How do I kick someone from the console?
Q: Can I give someone Admin/SuperAdmin status from the console?
Q: Can I change the list of words my server considers swearing?
Q: How do I create my own SHBadwordlist file?
Q: My spawnfaves is still working when I set the $Shifter::PowerCheck = "true";... Why?
Q: I loaded a new map and now my forcefeilds and teleporters are gone?
Q: How do I use the new Auto Admin features?
Q: My players can't talk to each other anymore... What's going on?
A: Shifter is a server MOD for the game Starsiege Tribes. (MOD being a reworking of the codebase allowing additional functionality, which may include rules, equipment, and/or additional features)
A: You can download Shifter from http://www.dopplegangers.com
A: Shifter is installed in a similar method to any other MOD.
Q: What is the difference between a dedicated server and a listen server?
A: A dedicated server is a server which uses the -dedicated commandline switch, and runs the game in a dedicated fashion. You are unable to play locally on a server of this type, but must connect to it from an additional PC. This is the preferred method of running a server. A listen server is one in which you host a game and play at the same time, on the same PC. Any users attempting to connect to this type of game will be at a severe disadvantage, and most likely experience severe lag.
A: LAG is a term used to describe poor performance or connection to the server, which is usually associated with high ping times and packet loss. This is not to be confused with poor frame rates caused by inadequate gaming hardware.
Q: I've found a problem, where can I report it?
A: If you find a bug or similar problem, please report it on the Shifter forum, it can be found at http://www.dopplegangers.com/cgi-bin/forum/Shifter/forum.pl
Q: Can I have custom skins on my server?
A: Shifter supports custom skins with the server variable $Shifter::PersonalSkin = True; If you wish to assign a custom skin to a team, follow this example: $Server::teamSkin0 = "arioch"; This will assign ARIOCH skin to team0. You should never place the actual skin.vol files on the server itself. This will cause clients without the file to be kicked at mission cycle.
Q: My server is running, but people get kicked every time the mission cycles?!
A: When running a dedicated server, you should not have any additional skin files, scripts (ie presto-pack), voicepacks etc installed on the server. Tribes will kick/drop any clients who do not have the same files stored on the server. This can also happen when running client side maps that the client does not have.
Q: What is the difference between server side and client side maps?
A: Server side maps use map data from existing missions to create a 'new' mission. These maps usually only come with 2 files, *.dsc and *.mis. Client side maps use custom terrain and/or objects which require an additional download for the client to play on a server. Client side maps usually come with additional files with *.ted or *.vol extensions.
Q: I added some maps and now people are getting kicked/dropped when it changes to them!?
A: The maps you added were more than likely client side, meaning the client requires a copy of them on their machine to play on it.
Q: I installed the MOD, but when I connect it's still base?
A: The first thing to check is your logfile.. be sure it's including the shifter stuff in the path. You'll find a line that should read as follows: config;Shifter_v1;Shifter_v1\missions;Shifter_v1\fonts;Shifter_v1\skins;Shifter_v1\voices;Shifter_v1\scripts;base;base\missions;base\fonts;base\skins;base\voices;base\scripts;recordings;temp
If the line isn't in the console or logfile, shifter isn't loading. (you'll probably see one similar without the shifter part)
If so check the following:
Q: I get the error message Game::refreshClientScore: Unknown command and nobody can connect
A: This is a generic type of error caused when the server does not initialize correctly. The first item to check is your configuration. Next, you may wish to check your $pref::LastMission and verify it points to a valid mission.
(Note: if you leave this variable blank, Shifter will generate its own valid and random mission from the missionlist)
Q: How do I remove missions I do not want in rotation?
A: The simplest way is to remove the *.DSC files of the missions you do not wish to have from the tribes\base\missions directory. If you feel extremely cleaver you can try your hand at a custom missionlist.
(Do not remove the *.ted or *.vol files of any missions... These files are shared, and removal may cause your server to crash during mission cycles).
Q: Can I create my own missionlist to run the missions in the order I want?
A: Sure you can. To create a custom missionlist follow this formula and place the commands at the end of your serverConfig.cs file. (Note: Shifter will create a missionlist for you automatically. This method is only if you require the missions to run is a specific order)
exec(missionlist);
MissionList::clear();
Missionlist::initNextMission();
$pref::lastmission = map1;
MissionList::addMission(map1);
MissionList::addMission(map2);
MissionList::addMission(map3);
MissionList::addMission(map4);
$nextMission[map1] = map2;
$nextMission[map2] = map3;
$nextMission[map3] = map4;
$nextMission[map4] = map1;
Make sure the last line wraps the last mission back to the first mission.
Q: My dog ate my serverConfig.cs file,... can I have yours?
A: That's one helluva dog you have there... Here's one you can cut/paste into yours, but I'd put the canine outside first...
//=========================================================================================================================================
// Server Config.CS
//=========================================================================================================================================
$Server::HostName = "Dopplegangers TRIBES Shifter"; // The name of your
$Server::MaxPlayers = "10"; // Max Players On Your Server
$Server::HostPublicGame = "true"; // Server will be publicly listed
$Console::LogMode = "1"; // save the console to a log file
$Server::Password = "password"; // Server Password - for passworded matches
$TelnetPort = "23"; // Telnet port number
$TelnetPassword = "password"; // Telnet password
//=== These are for Debug - Do not change these lines
//$Shifter::ObjScore = ""; // Allow Objects Being Destroyed To Award Bonus Points
//$Shifter::PlrScore = ""; // Allow Player Bonus Points To Be Awarded
$Shifter::PublicNotice = "This server is in testing mode. If things are odd, please dont complain.";
//============================== Server Information That Players Can See.
$Server::Info = "SERVERSIDE ONLY MODS: Shifter . Skins\nAdmin: you ICQ#5555555\nEmail: your@address.com\n2 TeamKill KickBan in effect.\nIf you LAG, leave... Don't whine about it.";
$Server::JoinMOTD = "<jc><f1>Welcome to TRIBES Shifter!\nMODs: Shifter - Personal Skins\nIf you LAG, leave... Don't whine about it.\n2 TeamKill kick-ban active.";
$Server::MODInfo = "MODS: Shifter . Personal Skins\nGrab our custom skins from http://members.home.com/fubarascain\nEmail Admin for private scrimmage details\nIf you LAG, leave... Don't whine about it.";
$MODInfo = $Server::MODInfo;
$Server::AutoAssignTeams = "true"; // Places players on teams automatically
$Server::FloodProtectionEnabled = "true"; // Check for chat flooding players
$Server::HostPublicGame = "true"; // List your server with the master list.
$pref::noIpx = "true"; // Disallow IPX/SPX binding
$Server::Port = "28001"; // Port To Run Server On
$Server::respawnTime = "2"; // Time after death to respawn.
$Server::TeamDamageScale = "1"; // Team Damage On/Off
//========================================= Team Names and Default Skins and Time Limits
$Server::teamName0 = "Emos Executioners"; $Server::teamSkin0 = "cphoenix";
$Server::teamName1 = "Ascains Anhilators"; $Server::teamSkin1 = "swolf";
$Server::teamName2 = "Dastardlys Devistators"; $Server::teamSkin2 = "beagle";
$Server::teamName3 = "Methods Mutilators"; $Server::teamSkin3 = "dsword";
$Server::teamName4 = "Karayas Kastrators"; $Server::teamSkin4 = "base";
$Server::timeLimit = "70"; // Mission Time Limit In Minutes
//========================================= Voting Variables
$Server::MinVotes = "1"; // Minimum Votes to count
$Server::MinVotesPct = "0.85"; // Percentage of votes needed to pass a vote
$Server::MinVoteTime = "45"; // Time a vote lasts
$Server::VoteFailTime = "30"; // Length Of Votes if people are NOT voting.
$Server::VoteWinMargin = "0.699999"; // Ratio of Yeh to Neh to win vote.
$Server::VotingTime = "20"; // Length Of Votes if people are voting.
$Server::TourneyMode = "False"; // Set Tourney Mod Initially.
$Server::warmupTime = "10"; // Mission Start Time (Delay before missions starts)
$Server::PacketRate = "10"; // recommended rate for a cable modem
$Server::PacketSize = "200"; // recommended rate for a cable modem
//=========================================================================================================================================
// Shifter_v1.cs - The Following Options Pertain Strictly To The Functionality Of Shifter.
//=========================================================================================================================================
//=========================================================================================================================================
// Client Options
//=========================================================================================================================================
$Debug = "False"; // == Turns on Debug - If you have problems you can turn Debug on here.
$Shifter::TwoMinute = "True"; // == Two Minute Warning Notice On/Off (Default = True)
$Shifter::NoSwearing="True"; // == True means disallow swearing on your server? (update the SHBadwordlist.cs file)
$Shifter::BadWordsMax=1; // == If no swearing, This value is the limit at which the client starts being killed for swearing
$Shifter::BadWordskick=2; // == If no swearing, This value is the limit at which the client is kicked for swearing
$Shifter::LooseScore = 0.75; // == This is the score ratio for the loosing team. 0.5 for instance would cut a loosing players score by half.
$Shifter::Guided = True;
$Shifter::SpawnType = "Random"; //== Must be 'Standard' or 'Random'
$Shifter::Racer = True;
$Shifter::SaveOn = True;
$Shifter::SpawnFavs = True;
$Shifter::EngHealAll = True;
$Shifter::VoteDTD = True;
$Shifter::VoteKick = True;
$Shifter::VoteAdmin = True;
$Shifter::HelpOn = True;
$Shifter::SwitchPerm = True;
$Shifter::ScoreTracker = True;
$Shifter::CheckScores = 30;
$Shifter::WarnScore1 = "-10";
$Shifter::WarnScore2 = "-20";
$Shifter::WarnScore3 = "-30";
$Shifter::WarnScoreFinal = "-40";
$pref::LastMission = "Annihilator";
//=========================================================
$Shifter::RandomStart = False; //-- Start server with a Random mission
$Shifter::Reactions = True; //-- Damage knocks player back
$Shifter::Refresh = False; //-- Refresh the server after last player drops
//=========================================================
$Shifter::HackedTime = 90; // -- Time hacked items will remain hacked. 0 = Must be hacked back... - Defaults To 90
$Shifter::HackTime = 5; // -- Length Of Time To Complete Hacking - Defaults To 5
$Shifter::HackLock = 90; // -- Length of time a hacked item will be disabled for after being hacked. - Defaults To 0
$Shifter::LaserMineLive = 5; // -- Live Time For Laser Mines - Defaults To 5 Seconds
$Shifter::ItemLimit = True; // -- Makes it so that ONLY the armors that can buy a given item can see it in the invo list.
$Shifter::DetPackLimit = 15; // -- Limit of DetPacks per match
$Shifter::NukeLimit = 15; // -- Limit of Nukes per match
//=========================================================
$Shifter::LocalNetMask = "IP:208.188.5";
$Shifter::NukeLimit = 15;
$Shifter::PowerCheck = True;
$Shifter::TeamJuggle = 3;
$Shifter::AmmoBoom = True;
$Shifter::HeadShot = 5;
$Shifter::KillTime = 120;
$Shifter::Guided = True; // -- Allow Guided Missiles and Launcher in game.
//=========================================================================================================================================
// AutoAdmin Options
//=========================================================================================================================================
//==== Wild card IP's must just be left blank. Do NOT use the * in place of an octet. Note below for an example.
//==== NEW AutoAdmin - SAD Password Assignments
$Server::Admin["autoa", "Emo1313"] = 1; //== 1 Turns ON AutoAdmin
$Server::Admin["noban", "Emo1313"] = 1; //== 1 Adds player to NOBan list
$Server::Admin["ipadr", "Emo1313"] = "IP:208.188.5"; //== Ip mask for AutoAdmining check (Left blank will NOT Autoadmin, MUST contain an IP mask to Autoadmin)
$Server::Admin["sadpw", "Emo1313"] = "passworded"; //== Optional SAD password for user - Left blank user will NOT be able to use SAD ability.
$Server::Admin["admin", "Emo1313"] = 1; //== 1 Sets User to Normal Admin
$Server::Admin["super", "Emo1313"] = 1; //== 1 Sets User to BOTH Normal/SuperAdmin
$Server::Admin["autoa", "Dastardly"] = 1;
$Server::Admin["noban", "Dastardly"] = 1;
$Server::Admin["ipadr", "Dastardly"] = "IP:208.188.5";
$Server::Admin["sadpw", "Dastardly"] = "passworded";
$Server::Admin["admin", "Dastardly"] = 1;
$Server::Admin["super", "Dastardly"] = 1;
//=========================================================================================================================================
// Server Options
//=========================================================================================================================================
$Shifter::Weapons = True; //== Advanced Weapon Options On
$Shifter::LockOn = True; //== Missile locks
$Shifter::emailAddress = "emo1313@dopplegangers.com"; //== Email address to show banned users for reinstatement
$Shifter::VoteAdmin = False; //== Can players initiate vote to admin
$Shifter::VoteKick = True; //== Can players initiate vote to kick
$Shifter::RandomMissions = True; //== Random Missions on/off
$Shifter::RandomStart = False; //== Random Missions on/off
$Shifter::KeepBalanced = True; //== Keep Balanced
$Shifter::SpawnRandom = True; //== Turn on Random Spawn Setup?
$Shifter::NoOutside = True; //== Turn on Outside of mission area damage
$Shifter::TurretKill = False; //== Turret Kills Count For Player
$Shifter::PersonalSkin = True; //== Personal Skins On or Off
//=========================================================================================================================================
// Advanced Flag Options
//=========================================================================================================================================
$Shifter::FlagNoReturn = "True";
$Shifter::FlagReturnTime = "400";
//=========================================================================================================================================
// Advanced Scoring System
//=========================================================================================================================================
$ScoreOn = True; //== If True will show client their score on change in a bottom print message for 3 seconds.
$Score::25Meters = "5"; //== Less Than 25 Meters To Flag
$Score::75Meters = "3"; //== From 25 to 75 Meters
$Score::150Meters = "2"; //== From 75 to 150 Meters
$Score::250Meters = "1"; //== From 150 to 250 Meters
$Score::FlagCapture = "15"; //== Points For A Successful Flag Capture
$Score::FlagKill = "7"; //== Bonus For Killing Flag Runner
$Score::FlagDef = "3"; //== Bonus Points For Defending The Runner
$Score::FlagReturn = "3"; //== Points For Returning Dropped
$Score::CaptureOdj = "2"; //== Points For Capturing An Objective
$Score::HoldingObj = "5"; //== Points For Holding An Objective For 60 Seconds.
$Score::InitialObj = "2"; //== Points For Getting The Objective First
$Score::ObjDestroy = "15"; //== Objective Destroyed
//=========================================================================================================================================
// Note about the following section... These points are awarded for destroying the enemy stations, generators, etc.
// These points are also used in a calculation to give points for repairing things on your own team and to deduct points for
// repairing things on the enemy's team.
//
// The Lower option, Score::RepairObject is a base repair score. You can make this zero if you do not want players to get the
// base 1 point of repairing...
//
// You do NOT just get points for walking up and shooting something with a repair gun for a couple seconds. There is a detailed
// calculation that gets the total points for a repair job. The (amount the item was damaged X the point value below) + the
// Score::RepairObject... This amount is given for repairing the players own teams equipment. It will also deduct this amount
// if the player repairs enemy equipment.
//
// You will only gain points for repairing an object COMPLETELY... Points are calculated from the time you start the repair to the
// time you finish, if you want full points you had better not stop...
//
// What stops a player from just shooting and repairing his own stuff to horde points?! If the player is the last person to have
// damaged the object he will receive NO points.
//=========================================================================================================================================
$Score::ObjStationS = "7"; //== Destroy Supply Station
$Score::ObjStationA = "5"; //== Destroy Ammo Station or Command
$Score::ObjStationR = "3"; //== Destroy Remote Station
$Score::ObjFlier = "3"; //== Destroy Flyer Pad or Station
$Score::ObjGeneratorB = "10"; //== Destroy Large Generator
$Score::ObjGeneratorS = "5"; //== Destroy Small Generator including - Panels
$Score::ObjSensorL = "5"; //== Destroy Large Sensors
$Score::ObjSensorS = "2"; //== Destroy Deployable Sensors
$Score::ObjTurretL = "3"; //== Large Turrets
$Score::ObjTurretS = "1"; //== Deployable Turrets
$Score::Kill15Meters = "0"; //== Player Makes A Kill With In 15m
$Score::Kill50Meters = "1"; //== Kill From 15 to 50m
$Score::Kill100Meters = "1"; //== Kill From 50 to 100m
$Score::Kill250Meters = "2"; //== Kill From 100 to 250m
$Score::Kill250Plus = "3"; //== Kill 250m Or More
$Score::RepairObject = "1"; //== Repair Bonus. Base Points For Repair...
$Shifter::SpawnSafe = "10"; //== If the player is killed before X - Only Half Points Are Awarded.
//=========================================================================================================================================
// Fair Teams Variables
//=========================================================================================================================================
$Shifter::FairTeams = False; //== Is Fair Teams Is On
$Shifter::FairCheck = "30"; //== Number in seconds that Shifter will check the teams evenness and warn players
$Shifter::FairEvens = "120"; //== Number in seconds that Shifter will move the last connected player to the un even team.
//=========================================================================================================================================
// Team Killing Options
//=========================================================================================================================================
$Shifter::TeamKillOn = "True"; //== Is Anti TK On/Off
$Shifter::KillTerm = "1"; //== Number Of Time A Player Can Team Kill
//== Before Being Terminated (Killed By Server
$SHAntiTeamKillWarnKills = "1"; //== Number Of Team Kills Before Player Gets Warning.
$SHAntiTeamKillBanTime = "600"; //== Length Of Time In Seconds Player Is Banded For.
$SHAntiTeamKillMaxKills = "2"; //== Maximum Team Kills Before Kicked - Banned.
$SHAntiTeamKillProximity = "50"; //== Proximity Distance For Accidental Damage.
//=========================================================================================================================================
// Varrious Server Messages To The Client
//=========================================================================================================================================
//================================================================= Message To Banned Team Killer
$Shifter::TeamKillMsg = "You have been kick and banned for team killing, i hope you enjoyed it. Email:" @ $Shifter::emailAddress @ " for reinstatement.";
//================================================================= Show When Client Spawns For The First Time
$Shifter::WelcomeMsg = "<jc><f2>Welcome to Dopplegangers Inc. Tribes\nMOD: Shifter V1.0 Beta 6-19-99\nServer site:www.dopplegangers.com/tribes\nMission: <f1>" @ $missionName @ " <f0>Mission Type: <f1>" @ $Game::missionType @ "\n<f0>2 TeamKill KickBan in effect.\nIf you LAG, leave... Don't whine. We dont want to hear it!";
$Shifter::WelcomeDelay = "20"; //== Amount in seconds that the message is shown. If "0" message will not be displayed.
//=========================================================================================================================================
// Set Default Anti-TK Functions
//=========================================================================================================================================
if($SHAntiTeamKillWarnKills == "")
$SHAntiTeamKillWarnKills = 1;
if($SHAntiTeamKillBanTime == "")
$SHAntiTeamKillBanTime = 600;
if($SHAntiTeamKillMaxKills == "")
$SHAntiTeamKillMaxKills = 2;
if($SHAntiTeamKillProximity == "")
$SHAntiTeamKillProximity = 50;
//=========== Master Server Listing (Dont frell with this).
$Server::CurrentMaster = "0";
$Server::numMasters = "3";
$Server::Master1 = "t1m1.masters.dynamix.com:28000 t1m2.masters.dynamix.com:28000 t1m3.masters.dynamix.com:28000";
$Server::Master2 = "IP:BROADCAST:28001";
$Server::XLMaster1 = "IP:198.74.38.23:28000";
$Server::XLMaster2 = "IP:Broadcast:28001";
$Server::XLMasterN0 = "IP:209.67.28.148:28000";
$Server::XLMasterN1 = "IP:209.1.233.139:28000";
$Server::XLMasterN2 = "IP:198.74.40.68:28000";
$Server::MasterAddress0 = "IP:tribes.dynamix.com:28000";
$Server::MasterAddressN0 = "t1m1.masters.dynamix.com:28000 t1m2.masters.dynamix.com:28000 t1m3.masters.dynamix.com:28000";
$Server::MasterAddressN1 = "t1ukm1.masters.dynamix.com:28000 t1ukm2.masters.dynamix.com:28000 t1ukm3.masters.dynamix.com:28000";
$Server::MasterAddressN2 = "t1aum1.masters.dynamix.com:28000 t1aum2.masters.dynamix.com:28000 t1aum3.masters.dynamix.com:28000";
$Server::MasterName0 = "Tribes Master";
$Server::MasterName1 = "UK Tribes Master";
$Server::MasterName2 = "Australian Tribes Master";
//==========================================================
Q: What happened to the shifter_v1.cs file?
A: In the latest build additional functionality for tournaments and clan matches was added. As a result the MOD has been restructured. The need for one configuration file is required to prevent server variables from being overwritten. If you previously used multiple configuration files, you will now be required to consolidate them into one, entitled ServerConfig.cs.
Q: How do I make the teams be assigned automatically in tournament or match mode?
A: To assign someone to a team, two new server variables have been introduced: $Shifter::Tag0="|00|"; ,$Shifter::Tag1="|XX|"; Simply place these tags in your matchConfig.cs file and change the values of the string (the stuff in the quotes) to the tag used by the clan/tribe to be assigned to that team.
For instance: Tribe1 tag used is |BoF|... so $Shifter::Tag0="|BoF|"; would place them automatically on team0 when the server is in match or tourney mode. The tag can be matched anywhere in the players handle. |BoF|Leader, player|BoF|, i.Am|BoF|like are all valid matches.
Q How do I use the new Match or Tournament features?
The way it works is like this...
The in-game admin prepares to start the match, so they select the 'Enable match configuration' option from the TAB menu. The server executes the matchConfig.cs file and saves the new configuration to the temp directory. each mission cycle from here on reloads the stored data from the temp dir to maintain the match configuration. (the reason why we deleted the shifter_v1.cs file, to prevent overwriting the data at mission cycle)
When the server starts in tourney mode, teams are assigned by the tags set in the configuration file (matchConfig.cs) and any non matching players are set to observer for manual assignment.
When the match is finished, the admin then selects the option 'reset to server defaults' from the TAB menu, and the default serverConfig.cs file is executed and stored in the temp data directory.
This update should allow matches to be run without server admin intervention, and in a ladder situation, one default matchConfig.cs file can be created and distributed to all match servers to provide a contiguous and level playing field.
Q: I get an error invalid first mission/last mission?
A: Chances are your $pref::LastMission is pointing to a mission you do not have, or you've incorrectly created your own missionlist. Check the spelling, verify all the files for the mission are present, or simply remove the variable. Shifter will automatically assign one from the dynamic missionlist created at startup.
Q: My server is running, but I can't see it in the server lists...
A: First thing, check to see that you have $Server::HostPublicGame = "true"; set in your serverConfig.cs file. If so, have a buddy update his list... sometimes the master lists just take time to update. Worst case scenario, you and your friends can manually add it to your browser with this command.
Q: I can't see a server in the browser list... is there a way I can add it manually?
A: To add a server to your browser list edit your tribes\config\GameServerList.cs file in your favourite editor and add a line to the end following this syntax:
addGameServer("IP:address:port", "ServerName", "1.11", "100", "TRUE", "shifter_v1 base", "Scarabrae", "CTF", "333", "FALSE");
Where "IP:address:port" would be something like "IP:169.254.0.1:28001" and ServerName is the name of the server you're trying to add.
Q: How can I tell from the console if shifter has started up and is running correctly?
A: Good question... unless you try to connect to it from another machine it's difficult to tell. As a general rule, you should see something like the following in your console...
MSG: "Server: Team \"\" added - id = -1"
Executing missions\Broadside.mis.
MSG: "Server: Team \"Blood Eagle\" added - id = 0"
MSG: "Server: Team \"Diamond Sword\" added - id = 1"
Executing Objectives.cs.
Executing game.cs.
Executing comchat.cs.
Executing shban.cs.
config;Shifter_v1;Shifter_v1\missions;Shifter_v1\fonts;Shifter_v1\skins;Shifter_v1\voices;Shifter_v1\scripts;base;base\missions;base\fonts;base\skins;base\voices;base\scripts;recordings;temp
exec: invalid script file SHBanList19620.cs.
Ban List Loaded
SHBan Loaded.
Executing scoretracker.cs.
Executing fairteams.cs.
No drones exist...
Dedicated Server Initialized
Q: How do I talk to players in the game from the console?
A: You can use applications like Tricon etc, or simply type the following commands in from the server console:
topprintall("message here",30); , centerprintall("message here",30); , bottomprintall("message here",30); will each respectively print a message on the top/center/bottom of every clients screen the "message here" message for 30 seconds.
Similarly, the command bottomrprint(2049,"message here",30); will print a message on client 2049's screen only.
Q: Can I see how many players are connected to my server from the console?
A: Yes, type in listplayers(); at the console to see the number of clients connected.
Q: I have an abusive player connected. How do I kick someone from the console?
A: The format for kicking a client is as follows: Net::Kick(%clientId,"message");
Q: Can I give someone Admin/SuperAdmin status from the console?
A: Yes, obtain the client's id# (listplayers();) and use the following format for the command:
%clientId.isadmin="true" , %clientId.isSuperAdmin="true" . The values are exclusive, so you need to assign both if required.
A: This is caused by the order in which the functions are being declared. I wouldn't worry about it. =)
A: Yes you can! Install the MOD as described in this FAQ, and create a new shortcut for Tribes to run it, then just add -mod shifter_v1 in the target to the shortcut you use to start tribes... (-mod shifter_v1 +exec serverConfig.cs in the target window after the quotation mark.. there should be a space between the " and the -mod (like this: ...tribes.exe" -mod shifter_v1 +exec serverConfig.cs)
Start tribes with the new shortcut, host a game with the regular tribes menus and when it starts, it will be a shifter 'listen' server good to practice your stuff on.
Q: Can I change the list of words my server considers swearing?
A: Yes, simply edit the SHBadwordlist.cs file and modify the words between the quotes to reflect those you desire.
Q: How do I create my own SHBadwordlist file?
A: Create a text file named SHBadwordlist.cs in your config directory and follow the example below. You can continue the sequence as far as you like, there is no preset upper limit.
$Shifter::badwordlist0="word";
$Shifter::badwordlist1="word";
$Shifter::badwordlist2="word";
Q: My spawnfaves is still working when I set the $Shifter::PowerCheck = "true";... Why?
A: We have found a potentially large bug in the feature that disables the spawnfaves option when a teams power is down. Because of this, we felt it best to temporarily disable the option until a more complete resolution can be found.
Q: I loaded a new map and now my forcefeilds and teleporters are gone?
A: The map you added probably contained extra files named objects.cs or staticshapes.cs... Look in your base or mission directories for these files and remove them.
Q: How do I use the new Auto Admin features?
A: AutoAdmining - Automatically placing players as Admin, SuperAdmin and NoBan has become very easy. The server admin now has the option to Admin or SuperAdmin players, each permitting different abilities. (see list):
==================================================================================================
Normal Admin Abilities :
1) Change Players Team- Player Selected
2) Globally Mute/UnMute- Player Selected
3) Lock/Unlock Players Team- Player Selected
4) Set Mission Time Limit
5) Select Touney/FFA Mode
6) Change Mission
7) Cycle Mission
Super Admin Abilities :
1) Kill,Ban or Kick Players- Player Selected
2) Clear Players TK Count- Player Selected
3) Grant/Revoke No Ban Status- Player Selected
4) Admin/DeAdmin Players- Player Selected
5) Give/Remove Penis Curse- Player Selected
6) Enable MATCH Mode
7) Reset Server To Defaults
Optional Super-Admin Abilities
8) Locking Missile On/Off Toggle.
9) Turn On/Off Kill Counts For Turrets.
This will allow server admins a greater range of control over the Admin - SuperAdmin - NoBanned - SAD features.
A sample block is given below:
//--------------------------------------------== 1 Turns ON AutoAdmin (If player has IP mask they will be autoadmined)
$Server::Admin["autoa", "Emo1313"] = 1;
//--------------------------------------------== 1 Adds player to NOBan list
$Server::Admin["noban", "Emo1313"] = 1;
//--------------------------------------------== Ip mask for AutoAdmining check
//--------------------------------------------== (Left blank will NOT Autoadmin, MUST contain an IP mask to Autoadmin)
$Server::Admin["ipadr", "Emo1313"] = "IP:208.188.5";
//--------------------------------------------== Optional SAD password for user -
//--------------------------------------------== Left blank user will NOT be able to use SAD
//--------------------------------------------== ability and will need to be auto-admined
$Server::Admin["sadpw", "Emo1313"] = "password";
//--------------------------------------------== 1 Sets User to Normal Admin
$Server::Admin["admin", "Emo1313"] = 1;
//--------------------------------------------== 1 Sets User to BOTH Normal/SuperAdmin
$Server::Admin["super", "Emo1313"] = 1;
Setting any of the numbered options from 1 to 0 will set that attribute to OFF
Super Admin will of course set players to both Normal and Super admin.
So the block of info per player would look something like this.
$Server::Admin["autoa", "Dastardly"] = 1;
$Server::Admin["noban", "Dastardly"] = 0;
$Server::Admin["ipadr", "Dastardly"] = "IP:208.188.5";
$Server::Admin["sadpw", "Dastardly"] = "password";
$Server::Admin["admin", "Dastardly"] = 1;
$Server::Admin["super", "Dastardly"] = 0;
This player would be AutoAdmined at log on.
This player would also be able to use SAD("password"); on the console if playing from a different machine.
This player would NOT be on the NO BAN list.
This player would ONLY be a normal Admin.
Q: My players can't talk to each other anymore... What's going on?
A: There's a new feature that will disable the client option to use global voices unless authorized. Check the variable below for the proper value.
$Shifter::GlobalTChat = True;
// True - All players can chat global in Tourney Mode
// False - Only players marked as Leader, Admin or SuperAdmin can chat.
A: The latest build uses the 1.11 code functionality to defeat certain cheats some people were using. As a result, the server will validate the clients' model and skins for the following items: mines, beacons, sniper rifle, armors, turrets, camera, flags, and remote inv/ammo stations. Here's a quick blurb on the situation:
Try connecting to a 1.11 base server, and you'll find that you do have modified files on your system. The new code (updated, server ops should check the forum) validates the model and skins of the following items: mines, beacons, sniper rifle, armors, turrets, camera, flags, and remote inv/ammo stations. If you connect and get dropped from the server, you are running a modified version of one of these items... you just may not realize it. The server will inform you of the offending item after you have been dropped. Just because you don't have any scripts installed does not mean you may be affected. Early (pre 1.11) skinvols may have included custom skins for the sniper rifle or inventory stations. The glamour pack is a prime example of this. Granted the glamour pack is not a cheat, but it did include custom skins for the remote inventory items which will not work with 1.11. As a side note, the pack has been updated to operate under 1.11, but some items were removed. The kicking of the players is not a shifter issue, it is a result of the 1.11 validation checks. Again, I stress... Try a base 1.11 server and the same thing will happen. The solution? Remove the offending *.dts or skinfiles from your system. It's your call... do you want to run a mod that will support the cheat scripts or not? For those who don't believe they exist, I managed to get a copy and took some screenshots with the checks disabled to show you just how unfair they are. You can see them from this LINK. Several people have reported the same problem, and the solution has been the same for all of them. The removal of the offending items allowed them to connect. (An amendment: Apparently MrPoops Skinchooser scripts come with some offending 1.11 skins as well... check for gp*.avl.vol files and remove them)
this space intentionally left blank =)
Last revised August 29, 2000