Repository navigation
Autoball
Development build. Car football: two teams, one big ball, two goals. Drive the ball into the other team's goal. No weapons by default, just driving, turbo and the occasional demolition.
g_gametype 23 · team mode · .arena keyword q3r_autoball
| Phase | What happens |
|---|---|
| Kick-off | Every car is put back on a kick-off spot and frozen. A 3-2-1 countdown, then the whistle. Before the first kick-off of a match the camera flies once over the arena. |
| Live | Hit the ball. When the whole ball crosses a goal line, the other team scores. |
| Goal | Explosion, flashing goal lights, horn and crowd. Cars near the goal are blown away. A few seconds later: next kick-off. |
| End | Goal limit or time limit. If the score is tied when time runs out, the next goal wins (golden goal). The clock waits up to 10 s while a ball is in the air. Under the final scoreboard: MVP, Top Scorer, Best Keeper and Hardest Shot. |
-
Turbo is your boost. You start every life with 5 seconds stored. Hold Turbo (default
Shift) to burn it, let go to keep the rest. Turbo pickups are spread around the arena; they are the only items in Autoball. - Aim with the side of your car. Hitting the ball straight on just pushes it; hitting it off-centre sends it sideways.
- Demolition: ram an opponent while burning turbo at 110 km/h or more and their car is wrecked. They respawn after 3 seconds and you get an extra second of turbo.
- The ball's seams glow in the colour of the team that touched it last. Above 100 km/h the ball leaves a trail in that colour; above 150 km/h it catches fire.
- Own goals count. A ball in your own goal is a point for the other team, whoever touched it last.
The team score is the number of goals. Your personal score on the scoreboard:
| Action | Points |
|---|---|
| Goal | 100 |
| Assist (you touched the ball shortly before a teammate's goal) | 50 |
| Save (you stop a ball that was heading into your goal) | 50 |
| Shot (your touch sends the ball towards the opponent goal) | 20 |
| Demolition | 10 |
| Touch | 2 (at most every 2 s) |
The scoreboard shows goals, assists, saves and shots for every player. On the ladder, Autoball has its own leaderboard and career stats (wins, matches, goals).
- A score bug at the top shows both scores and the match clock (
+= golden goal time). - An arrow at the screen edge points to the ball when it is off-screen, with its distance.
-
ballcamtoggles the ball camera: the chase camera looks at the ball instead of along your car. Bind it to a key, e.g.\bind c ballcam. - Spectators and wrecked cars waiting to respawn get a TV camera: it follows the ball from the sideline and cuts to a camera in the goal when a shot is on its way and during the goal celebration. Follow a player as usual with Fire.
All Autoball client settings are listed in Client Settings → Autoball.
Bots play Autoball. The best placed car of a team attacks, the car closest to its own goal defends, and the rest wait behind the ball and collect turbo. Humans count for these roles too, so bots fill the gaps around you. Higher bot skill means better aim and more turbo use; on skill 1–2 they are noticeably easier.
Variants for fun matches. In the Create Server menu they appear under Goal Limit; on a dedicated server set the cvars in the config.
| Menu | Cvar | Choices |
|---|---|---|
| Balls | g_autoballBalls |
1, 2 or 3 balls. Extra balls start beside the centre spot, every ball can score, a goal resets all of them. |
| Ball Size | g_autoballBallScale |
Small 0.7 · Normal 1 · Big 1.4 · Giant 2 |
| Ball Gravity | g_autoballBallGravity |
Moon 0.35 · Light 0.6 · Normal 1 · Heavy 1.5 (only the ball) |
Mutators are not saved between sessions, so every map starts normal unless a config sets them. Details in Server Configuration → Autoball.
Start with the ready-made config:
q3rally-server.x86_64 +exec q3r_autoball.cfg
-
capturelimitis the goal limit,timelimitworks as usual. - Autoball needs the Bullet physics backend:
g_scriptedObjectBullet 1(the default). - All Autoball cvars (match, ball physics, mutators) are in Server Configuration → Autoball.
With g_log on (the default) the server writes every goal, shot, save, assist and demolition to games.log. With g_autoballStats 1 it also writes a sample every second: ball speed and height, which half the ball is in, turbo stock and car speed per team. The repository has a script that turns this into a report:
python3 tools/autoball/analyze_log.py games.log
It lists the goals and prints numbers like kick-off goals, goals per shot, demolitions per minute and turbo stock, plus hints such as "Lots of demolitions: raise g_autoballDemoSpeed". Compare several matches and change one cvar at a time.
The ball only exists on the server, so ping matters. To try it on your own machine, start the map with cheats and delay the packets:
\devmap q3r_autoball_test
\cl_packetdelay 50
\sv_packetdelay 50
That is roughly 100 ms ping. \net_dropsim 2 adds 2 % packet loss.
| Command | Description |
|---|---|
g_autoballDebug 1 |
Prints touches, shots, saves and demolition checks. 2 also prints bot role changes. |
ball_info |
Server: ball position and speed, match state. With debug on also every car's speed. |
ball_spawn_at <x> <y> <z> |
Server: spawns a ball, to test on any map |
ball_goal_add <red|blue> <x1> <y1> <z1> <x2> <y2> <z2> |
Server: adds a goal box (team = defender) |
ball_kick <vx> <vy> <vz> |
Server: kicks the ball (units/s, 35.66 units = 1 m) |
ball_touch <client> / ball_turbo <client> <ms>
|
Server: fake a touch / give turbo |
ball_spawn / ball_reset / ball_remove
|
Client, needs cheats: test balls in front of your car |
An Autoball arena needs a ball, two goals, team spawns and turbo pickups. The entities and keys are in Game Mode Entities → Autoball. Some advice for the layout:
- Close the arena completely, including a ceiling. The physics treats the sky as solid, and the ball should bounce off everything.
- Ramps along the walls (45° boards) let the ball and the cars come off the wall instead of getting stuck in a corner.
- Goal mouths about 1024 units wide and 320 high work well with the default ball (radius 75).
-
Turbo pickups: a few big ones (
count5000,waitabout 10) in the corners and small ones (count1500,waitabout 4) along the sides. -
Bots need an
.aasfile like on every other map (see Bot Navigation).
tools/autoball/make_test_arena.py in the repository generates maps/q3r_autoball_test.map, a plain test arena that shows all of this. Compile it like any other map (see Mapping: Getting Started); the ready-made q3r_autoball.cfg rotates on this map.
The ball, its textures and the Autoball sounds are generated by scripts in tools/autoball/, so they can be rebuilt or changed:
| Script | Makes |
|---|---|
make_ball.py |
models/autoball/ball.md3, ball.tga, ball_glow.tga (shader in scripts/autoball.shader) |
make_sounds.py |
sound/autoball/*.ogg: ball hits, bounce, goal horn, whistle, crowd cheer |
make_test_arena.py |
maps/q3r_autoball_test.map |
analyze_log.py |
Balance report from games.log
|
🏁 Players
- Installation
- Controls
- Game Modes
- Autoball 🧪
- Vehicles
- Weapons and Powerups
- Maps
- Ghosts and Ghost Race
- Ladder for Players
- Client Settings
- Troubleshooting
🖥️ Server Admins
🛠️ Mappers & Modders