Tribes 2 // Mod Development Handbook GitHub

Source tutorial index

This handbook draws on the surviving community modding tutorials, preserved in a T2ModTutorialDatabase/ corpus that sits alongside this repository in the authoring workspace — it is not included here, and the paths below are provenance rather than links. They were written in 2002–2003, mostly by players, and they are the origin of most practical Tribes 2 modding knowledge.

They also contain guesses, errors, and recipes that circulated unverified for twenty years. Where this handbook and a tutorial disagree, this handbook follows the shipped V12 scripts and says so.

Read them for the recipes. Verify against the base scripts.

The corpus

Location Contents
T2ModTutorialDatabase/tutorials/ 87 text tutorials, plus quadchain.html
T2ModTutorialDatabase/badshottuts/ 26 HTML tutorials by BadShot, plus an index
T2ModTutorialDatabase/Tutorials.html Index page from advancedmod.com, with authors, dates, and difficulty
T2ModTutorialDatabase/Laggs Bot Tutorial.txt A 38 KB standalone bot-AI tutorial

Named authors include Xetrov, Drumstix42, BadShot, Sanguinus, Crashed, DynaBlade, and Lt Eartworm. Dates cluster around December 2002 – January 2003.

By topic, with the handbook page that covers the same ground

Getting started

Tutorial Handbook
getting_started.txt — Xetrov, Jan 2003 Your first mod
getting_started2.txt — “Lets Code Already” Your first mod
coding_knowledge.txt — Lt Eartworm; projectile types and general notes Projectiles
typemasks.txt Damage and type masks
seperate_armor_folder.txt Packaging
disable_tr2.txt

Weapons and projectiles

Tutorial Handbook
any_ammo_based.txt — adding ammo-based weapons Weapons
any_energy_based.txt — adding energy-based weapons Weapons
multi_projectile_tutorial.txt, TutorialMultiProjectile.html — BadShot, “Hard” Weapons
TutorialSecondaryProjectile.html Weapons
gravity_for_projectiles.txt Projectiles
weapon_recharge.txt Weapons
weapon_hold_position.txt Armors
weapon_particle_effect.txt Effects
weaponpack.txt, TutorialWarpGun.html, warp_gun.txt Weapons
shotgun.txt, minigun.txt, mine_launcher.txt, nuke_launcher.txt Weapons
seeking_disc_launcher.txt, hellfire.txt, hackgun.txt Projectiles
flakgun.txt, TutorialFlakGun.html Weapons
charging_plasma_cannon.txt, TutorialChargingPlasmaCannon.html Weapons
heavy_chaingun_barrel.txt, quadchain.html Weapons
repaigun-repair_rifle_tut.txt, TutorialRepairGun.html Packs
sniper_pack_tut.txt, discpack.txt, beamswordpack.txt, godhammerpack.txt Weapons, Packs
TutorialImpulse.html, TutorialGrenadeFountain.html Damage
TutorialArtillery.html Projectiles
shoot_after_death.txt

Packs

Tutorial Handbook
anti-energy_pack.txt, cheetah_pack.txt, flamepack.txt, hover_pack.txt, lava_shield_pack.txt, telepadpack.txt, environmental_pack.txt Packs
TutorialHoverPack.html, TutorialEnvironmentPack.html Packs
cloaking_device.txt, TutorialMassCloak.html, shrike_player_cloak.txt Packs
restrict_pack_usage.txt Ammo and inventory
grappling_hook.txt, forcefield_hammer.txt, TutorialForceField.html Packs

Armors

Tutorial Handbook
adding_armors.txt — Drumstix42, Dec 2002 Armors
admin_armor.txt, creator_armor.txt Armors
exploding_bodies.txt, explosion&blood_effects.txt Effects

Vehicles

Tutorial Handbook
adding_vehicles.txt — Drumstix42, Dec 2002 Vehicles
creator_vehicle.txt, sparrow_flyer.txt Vehicles
vehicle_boost_rockets.txt, TutorialBoosterRocket.html — BadShot Vehicles
vehicle_ejection_seats.txt, TutorialEjectionSeats.html — BadShot Vehicles
vehicle_debris.txt — BadShot Effects
vehicle_required_armor.txt Vehicles
vehicle_weapon_locking.txt — DynaBlade Projectiles
vehicle_hud.txt — Crashed, Dec 2002 HUD
vehiclehud_page_cycling.txt — BadShot HUD
TutorialVehiclePadCycle.html Vehicles

Deployables and turrets

Tutorial Handbook
adding_deployables.txt — Drumstix42, Dec 2002 Turrets and deployables
deployables_list.txt Turrets and deployables
deployable_base_turret.txt, deployable_disc_turret.txt, deployable_flare_turret.txt, deployable_laser_turret.txt Turrets and deployables
deployable_bunker.txt, TutorialBunker.html, deployable_platform.txt Turrets and deployables
blastwall.txt, blastwall_addition.txt, TutorialBlastWall.html Turrets and deployables
undeploying_tut.txt, TutorialUndeploying.html Turrets and deployables
shield_generator.txt Turrets and deployables
jumpad_tut.txt, TutorialJumpad.html Missions
spy_satellite.txt, TutorialSpySatellite.html Turrets and deployables

Grenades, mines, beacons

Tutorial Handbook
cloaking_mine.txt, mag_air_mine.txt, TutorialMine.html Grenades and hand inventory
beacon_modes.txt — Sanguinus, “Intermediate” Grenades and hand inventory
beacon_on_laser.txt, armor_specific_beacons.txt Projectiles
beacons_with_deployables.txt, TutorialBeaconDeployables.html Turrets and deployables
shield-regen_beacon.txt Turrets and deployables

Interface

Tutorial Handbook
basic_colors.txt, game_text_color.txt Text and messaging
bottom_printing.txt Text and messaging
join_message.txt Text and messaging
load_screen.txt, multi_load_screen.txt GUI system
TutorialRetFix.html — reticle fix HUD
spawn_favs.txt, TutorialSpawningFavorites.html Ammo and inventory

Effects

Tutorial Handbook
jet_particle.txt Effects, Armors

Reference

Tutorial Handbook
ReferenceSimGroups.html — BadShot SimObjects and namespaces
Laggs Bot Tutorial.txt AI and bots

Where the corpus is wrong, or was honest about not knowing

Worth reading as a lesson in evidence quality.

Admitted gaps. coding_knowledge.txt on the ELF gun [community]:

“restorativeFactor / dragFactor / endFactor / randForceFactor / randForceTime — i don’t know what these do.”

Still unresolved. The names and numControlPoints imply a spring/damper chain along the beam, but the engine code has not been traced. This handbook says so rather than guessing — see Projectiles.

Also honest: the same file on TracerProjectile“not really sure. my guess is that its similar to a linear projectile” — and on FlareProjectile“I’m going to research this one.” Both are documented here from the shipped datablocks instead.

Mod path order. Some community documentation gives the default stack as base;Classic [community]. The binary appends ;base to whatever -mod supplies [binary], so -mod Classic gives Classic;base — Classic first. The order matters because first hit wins. See Mod paths and overrides.

Toolchain. getting_started.txt recommends WinZip and Tribal IDE [community]. Both are long obsolete; any modern archive tool and text editor is better. The advice underneath — unpack scripts.vl2, keep it where you can read it, make a mod folder, use -mod — is still exactly right.

Comments in the shipped code are not always right either. $HandInvThrowTimeout = 0.8 * 1000; is commented “1/2 second between throwing grenades or mines” [script]. It is 800 ms. Trust code over comments, from any source.

Reading them today

They assume Tribes 2 as it stood in 2002 and often paste large code blocks without saying which file they came from. To use one:

  1. Identify the datablocks it declares and find the shipped originals in base/scripts.vl2.
  2. Check the field names against the real datablock — several tutorials carry typos that were silently creating dynamic fields.
  3. Prefer a package override to the copy-and-edit-the-base-file approach most of them describe. The mechanism existed in 2002 and was underused; see Packages.
  4. Check whether the recipe needs registration steps the tutorial omits — max[] entries, $AmmoIncrement, $WeaponsHudData. Several tutorials produce content that loads but cannot be obtained.

The corpus predates every patch

Worth stating plainly: the tutorials were written in 2002–2003, five to six years before RC2a and more than twenty before the current patch. Nothing in them accounts for either.

Where that matters:

Tutorial assumption Reality on a patched install
WON login and the Sierra master server exist Both dead since 2008; TribesNEXT replaces them
scripts/autoexec/ is yours alone True on the QoL patch; RC2a ships three files there
Fonts render as vanilla Univers The QoL patch substitutes every font for a .sdft
The UI is effectively 640×480 Render scale, UI scale, and UI aspect are user-controlled
Force feedback works Dead on the QoL patch; still works on RC2a
GameConnection::onConnect fires once Fires twice per remote client, via the auth phase
Audio is Miles Miles or OpenAL Soft, user-selectable

None of this affects the content recipes, which is the bulk of the corpus. A weapon, armor, vehicle, pack, or deployable tutorial from 2003 produces something that works on a patched install today, subject to the same registration steps those tutorials already tended to omit.

The tutorials that need the most care on a modern install are the UI ones — load_screen.txt, multi_load_screen.txt, vehicle_hud.txt, TutorialRetFix.html — because that is where the patches changed most. See 07 · Community Patches.

The same people built the mods

The corpus and the flagship mods were not separate communities. BadShot — author of 26 tutorials here — and DynaBlade — author of the vehicle-locking tutorial and the “Function Librarys” — are both thanked by name in the Construction mod’s Credits.txt [mod-script], with DynaBlade co-credited on its 841-line building-persistence system.

The techniques written down in these tutorials are the ones their authors were using to build the largest server-side mod on the platform. Read them as working notes from a live project, not as an archive.