The Art of Conquest, Automated.

Executor UI Preview

Two themes. One power. Switch instantly in CONFIG → UI THEME.

TERRIX v3.0
EDITOR
LEADERBOARD
SCRIPTS
CONFIG
ESP VIEW
const tick = GI.getCycleTick();
const d = GI.getDensity();
if (tick > 85 && GI.shouldSnipe(e.id)) {
  GI.sendAttackTile(0.4, tile, e.id);
}
[TerriX] Snipe at tick 92 — intensity 512
TERRIX v3.0
EDITOR
LEADERBOARD
SCRIPTS
CONFIG
ESP VIEW
const tick = GI.getCycleTick();
const d = GI.getDensity();
if (tick > 85 && GI.shouldSnipe(e.id)) {
  GI.sendAttackTile(0.4, tile, e.id);
}
[TerriX] Snipe at tick 92 — intensity 512
1

Install Tampermonkey

Get the Tampermonkey extension for your browser. It runs userscripts on any page.

2

Install TerriX Executor

Click the download button below to install the TerriX Executor script from GreasyFork.

3

Launch TerriX Client

Open the TerriX Client and click the TERRIX bar at the top to begin.

Latest

TerriX v3.0 — Ultimate

Complete exploit suite: GodBot v5.0 cycle-aware AI, ESP overlay, minimap, multi-tab sync, configurable strategies, attack queuing, and full custom scripting support.

Install v3.0
New

TerriX Marketplace

Buy, sell, and trade TerriX scripts, strategy configs, Discord Nitro, and exclusive accounts securely using Gold or Keys.

Open Marketplace
New

Iframe Manager

Browser-style tab manager. Open multiple TerriX Client instances in iframes with BroadcastChannel sync, right-click context menus, and session persistence.

Open Manager

Features

GodBot v5.0 AICycle-aware strategy, density parity, spatial mode switching, late-cycle sniping, 4 strategies
Interest Cycle EngineTracks the 100-tick interest cycle and times attacks for maximum ROI — bots early, enemies late
Density ParityWin pressure calculation — won't over-expand if it leaves you vulnerable to a stronger neighbor
Live MinimapCanvas-rendered overlay showing all player territories, ship positions, and viewport in real-time
ESP ViewFull game state visualization with tile-level detail
Threat RadarInstant visual warning when ships/boats target your territory
Multi-Tab SyncBroadcastChannel-based coordination between multiple game instances
Code ExecutorBuilt-in editor with 30+ GameInterface API methods, snippets, and syntax tools
Spatial Mode SwitchingAuto-switches between EXPAND / CAUTIOUS / DEFEND based on enemy proximity
Debug Dumper v5Full strategic dump including cycle state, density, vulnerability, and alive players
GUI Position ControlsDrag to reposition, "Center GUI" button, and "Lock Position" toggle in CONFIG

How to Use TerriX Executor v3.0

1 First Launch

After installing Tampermonkey and the TerriX Executor script, open the TerriX Client and join a game. Once the game loads, you will see a green TERRIX v3.0 bar at the top of the screen. Click it (or press F2) to open the Executor panel.

If you see "Game Hook Not Detected", you are not using the TerriX Client. Open the TerriX Client URL instead.

2 The Interface

The Executor panel has 5 tabs on the left sidebar:

EDITOR Write and execute JavaScript code with full access to the game's internals via the GameInterface (alias GI), window.G, and TERRIX objects.
LEADERBOARD Live ranking of all players by score (territory × 10 + troops ÷ 50). Your row is highlighted in gold. Updates every 800ms.
SCRIPTS Pre-built scripts: GodBot v5.0 (cycle-aware AI), Threat Radar, Auto-Expand, Density Analysis, Cycle Snipe, and Debug Dumper. Click LOAD to insert into the editor.
CONFIG GodBot v5.0 settings (cycle windows, density parity, snipe intensity), ESP overlay, minimap, GUI position controls, UI theme switching. All settings persist across sessions via GM_setValue.
ESP VIEW Canvas-based extra-sensory perception overlay showing full game state. Enable in CONFIG to activate.

3 Running Scripts

  1. Go to the SCRIPTS tab.
  2. Click LOAD on any script — it gets inserted into the Editor and switches to the EDITOR tab.
  3. Press the green EXECUTE button at the bottom of the panel.
  4. The output area below the editor shows ✓ Executed successfully or the error message.
  5. To stop a looping script (GodBot, Radar, etc.), execute it again — it toggles on/off. Or press STOP ALL.
Most scripts are toggle-based: running them once starts the loop, running them again stops it.

4 GodBot v5.0 — Cycle-Aware Strategic Engine

GodBot v5.0 is a complete strategic overhaul. It doesn't just react to current ratios — it reads the game's internal clock, estimates distances to enemies, predicts future troop density, and switches between spatial modes to maximize income while surviving contact.

Interest Cycle Awareness Every 100 ticks the game pays interest on your land. GodBot tracks the current tick (GI.getCycleTick()) and times attacks accordingly. Bot attacks happen early (ticks 0–70) for long-term ROI. Enemy attacks happen late (ticks 85+) to steal land right before income payout.
Density Parity Law Win pressure = land advantage + troop density to survive contact. GodBot calculates troops/land for you and every neighbor. It won't over-expand into neutral land if it would leave you vulnerable to a bordering enemy with 2× your density.
Spatial Mode Switching Three modes based on enemy proximity: EXPAND (far from enemies — greedy growth), CAUTIOUS (moderate distance — conservative expansion), DEFEND (bordering — hold density, only efficient attacks). Configured via the Close Range setting.
Late-Cycle Sniping Near the end of each 100-tick cycle, GodBot looks for enemy attacks that would increase your land share before income is paid. It checks density parity first — only sniping if it won't leave you punishably low. This converts enemy land into your income base immediately.
Smart Retreat & Reinforce Automatically retreats when troops fall below the retreat ratio × territory. When GI.isVulnerable() returns true (a bordering neighbor has >1.2× your density), GodBot reinforces the border instead of expanding.
Attack Queuing Sends attacks with a configurable delay between them to avoid the game's rate limiter. Essential for multi-target strategies.

Open the CONFIG tab to customize all GodBot v5.0 parameters:

StrategyBalanced / Aggressive / Defensive / Rush — controls attack intensity and risk tolerance
Expand RatioTroops must exceed territory × this value to expand into neutral land (default: 2.0)
Attack RatioTroops must exceed territory × this value to attack enemies (default: 3.0)
Retreat RatioRetreat when troops fall below territory × this value (default: 0.3)
Tick RateHow often the bot makes a decision, in milliseconds (default: 600ms)
Bot Attack Window EndTick at which bot/neutral expansion attacks stop (default: 70). After this, only enemy snipes.
Snipe Window StartTick at which late-cycle enemy sniping begins (default: 85)
Snipe IntensityFraction of troops to use per snipe attack (default: 0.4)
Density Parity MinMinimum ratio of your density vs enemy density to allow attacks (default: 0.8)
Close Range (px)Pixel distance to nearest enemy for CAUTIOUS mode (default: 150)
Pro tip: Lower the Bot Attack Window End to 60 and raise Snipe Window Start to 90 for a "turtle then strike" playstyle. Raise Density Parity Min to 1.0 for maximum safety.

5 Threat Radar

Load and execute the Threat Radar script. It monitors all incoming ships every 300ms. When a ship targets your territory, the panel header flashes red and a warning is logged to the console. Useful as an early-warning system while multitasking.

6 Live Minimap

Enable the minimap in the CONFIG tab. A canvas overlay appears showing:

  • Green — Your territory
  • Red — Enemy territory
  • Blue — Allied/teammate territory

Adjustable: size (px), opacity, position (4 corners), and refresh rate (200ms).

7 Code Executor & GameInterface API

The Editor gives you a JavaScript REPL with these globals:

GThe raw game hook — direct access to all game objects (G.ag, G.aD, G.ac, etc.)
GIGameInterface — safe wrapper with defensive property access and fallbacks
TERRIXThe Terrix namespace — config, loops registry, version
LoggerPrefix-tagged console logger ([TerriX])

Core Methods:

GI.myIdYour player ID
GI.getMyTroops()Your current troop count
GI.getMyTerritory()Your territory tile count
GI.getPlayerTerritory(id)Territory count for any player
GI.isPlayerAlive(id)Whether a player is alive
GI.getPlayerName(id)Player name string
GI.areAllies(p1, p2)Alliance check
GI.sendAttack(intensity, targetId)Attack a player
GI.sendAttackTile(intensity, tile, targetId)Attack a specific tile
GI.retreat()Retreat all troops
GI.getBorderTiles(id)Array of border tile encodings for a player
GI.getNeighbors(tile)Array of 4 adjacent tile encodings
GI.getTileOwner(encoded)Owner player ID of a tile
GI.isNeutral(encoded)Whether a tile is unowned
GI.tileToXY(encoded)Convert tile encoding to {x, y} coordinates

v5.0 Strategic Methods:

GI.getCycleTick()Current tick within the 100-tick interest cycle (0–99). Interest paid at tick 0.
GI.getCycleProgress()Cycle position as a float 0.0–1.0 (getCycleTick() / 100)
GI.getDensity(id)Troops per land unit for a player. Higher = harder to kill. Omit id for yourself.
GI.getDistanceToPlayer(id)Pixel distance between your center and another player's center
GI.getTimeToContact(id)Estimated ticks before an enemy reaches your border (distance / 3)
GI.predictDensityAtContact(id)Returns {myDensity, theirDensity, ticksToContact, myFutureTroops, theirFutureTroops} — projects both players' density at the moment of contact
GI.predictResources(id, ticks)Estimates a player's troop count N ticks in the future
GI.isVulnerable()Returns true if any bordering neighbor has >1.2× your density
GI.shouldSnipe(id)Returns true if attacking this enemy near cycle end is profitable (density parity OK or they're weak)
GI.getAlivePlayers()Returns array of {id, name, troops, territory, team, isMe, density} for all living players
Use the Debug Dumper v5 script to inspect all game object properties in the console. Essential for writing custom scripts.

7b Creating Custom Scripts

The Code Executor lets you write custom automation scripts using the full GameInterface API. Here's how to get started:

Basic Script Structure:

if (TERRIX.loops.myScript) {
  clearInterval(TERRIX.loops.myScript);
  TERRIX.loops.myScript = null;
  Logger.log("Stopped");
  return;
}
TERRIX.loops.myScript = setInterval(() => {
  if (!GI.isPlayerAlive(GI.myId)) return;
  // your logic here
}, 500);

Example 1 — Density-Aware Expansion: Only expand if your density stays above 1.0 after the attack:

const troops = GI.getMyTroops();
const land = GI.getMyTerritory();
const density = GI.getDensity();
if (land > 0 && troops > land * 2.5 && density > 1.0) {
  const tile = GI.expandToNearest();
  if (tile) {
    const cost = troops * 0.25;
    const newDensity = (troops - cost) / land;
    if (newDensity >= 0.8) {
      GI.sendAttackTile(cost, tile, -1);
      Logger.log("Expanding, new density:", newDensity.toFixed(2));
    }
  }
}

Example 2 — Cycle-Aware Enemy Snipe: Attack the weakest bordering enemy in the last 15 ticks of each cycle:

const tick = GI.getCycleTick();
if (tick < 85) return; // too early

const enemies = GI.getAlivePlayers().filter(p => !p.isMe);
enemies.sort((a, b) => a.troops - b.troops);

for (const e of enemies) {
  if (!GI.shouldSnipe(e.id)) continue;
  const tile = GI.findBestAttackTile(e.id);
  if (!tile) continue;
  const troops = GI.getMyTroops();
  const intensity = Math.min(troops * 0.4, 1024);
  GI.sendAttackTile(intensity, tile, e.id);
  Logger.log("Snipe!", e.name, "tick:", tick);
  break;
}

Example 3 — Threat Assessment Dashboard: Log a full strategic overview every 2 seconds:

Logger.log("=== STRATEGIC DASHBOARD ===");
Logger.log("Tick:", GI.getCycleTick(), "Density:", GI.getDensity().toFixed(2));
Logger.log("Vulnerable:", GI.isVulnerable());

const enemies = GI.getAlivePlayers().filter(p => !p.isMe);
for (const e of enemies) {
  const dist = GI.getDistanceToPlayer(e.id);
  const ttc = GI.getTimeToContact(e.id);
  Logger.log(e.name,
    "dist:", dist.toFixed(0),
    "TTC:", ttc.toFixed(0),
    "density:", e.density.toFixed(2));
}
Scripting tips: Always start with a toggle check (if (TERRIX.loops.x) { clearInterval... return; }). Always guard with if (!GI.isPlayerAlive(GI.myId)) return;. Use GI.findBestAttackTile(id) instead of raw tile math. Use the SNIPPET button in the editor for starter templates.

8 Keyboard Shortcuts

F2Toggle the Executor panel open/closed
Ctrl + Shift + XToggle the Executor panel open/closed

9 Multi-Tab Sync

Open multiple TerriX Client tabs simultaneously. They automatically discover each other via BroadcastChannel and sync attack/retreat/peace actions. Enable in CONFIG → Multi-Tab Settings. Each tab shows its peer count in the console on join.

10 Troubleshooting

"Hook detection failed after 20s"You are not on the TerriX Client page. Open the correct URL.
"Cannot read properties of undefined"The game updated and property names changed. Run the Debug Dumper script to check current names.
Script does nothingCheck the output area below the editor for errors. Make sure you are in a game (not the menu).
Panel position lostDrag the header to reposition. Position is auto-saved every 5 seconds.
Config not savingTampermonkey requires GM_setValue grant. Reinstall the script if needed.

Version Comparison

Featurev3.0 Ultimatev2.8 Grandmaster
GodBot AI✓ Cycle-aware v5.0✓ Basic
Interest Cycle Engine
Density Parity
Spatial Mode Switching
Late-Cycle Sniping
Strategic API (10+ methods)
Retreat Logic
Attack Queuing
Configurable Strategies✓ 4 modes
Live Minimap
ESP View
Multi-Tab Sync
Threat Radar
Leaderboard
Code Executor✓ 30+ API methods✓ eval()
Config Persistence✓ GM_setValue
Debug Tools