Player guide
Racing on jaPRO
jaPRO's defrag mode times you through a course in the movement style of your choice and keeps a leaderboard for each style. This page covers the commands you use on a race server and the client settings racers usually change.
This page is adapted from a player guide written by Kane for people new to jaPRO servers. Kane’s advice is attributed to Kane where it appears. The behaviour of each command has been checked against the source, and where the source disagrees with the original guide, this page follows the source.
jaPRO is a Jedi Academy mod by loda. As well as defrag, it runs FullForce, saber, CTF and Tribes modes. Almost everything here is a server command, handled by jaPRO’s game module, so it only works on a server that runs jaPRO with race mode enabled. The HUD settings are client-side and work anywhere.
Where to play
Kane’s guide points new players to jaPRO’s own site, playja.pro, which hosts the maps and the online leaderboards.
- Server:
connect s.playja.pro - Maps: playja.pro/#/download lists the map PK3s.
- Records and their demos: playja.pro/#/races. Each run has a link to download its demo.
- Match demos: playja.pro/#/demo-archive.
These are community sites. Nothing on this page controls what they host.
Getting into racemode
race
race toggles racemode for you. The server has
to allow it (g_raceMode set to 2 or higher); otherwise it prints “This command is not
allowed!”
(Cmd_Race_f).
Then pick a physics style with move, for
example move cpm. Run it with no argument for the list your server accepts. You must be
standing still in racemode for it to work. Movement styles
explains each style and the conditions move checks.
To get around a map:
| Command | What it does |
|---|---|
amtelemark |
Saves your position and view angle as a teleport marker. |
amtele |
Teleports you back to that marker. |
warp <name> |
Teleports you to a named course start, on maps and racepacks that define warps. warplist lists them. |
noclip |
Fly through walls to explore a map or reach another course. |
callvote map <mapname> |
Asks the server to change map. |
warp matches any warp whose name contains what you type, and takes the first match
(Cmd_Warp_f),
so a short name can land you on a different course than you meant.
Outside practice mode, toggling noclip resets your timer
(Cmd_Noclip_f).
If the server allows marking a position during a run, amtelemark only works while you are
on the ground
(Cmd_Amtelemark_f).
Whether you can use amtele and noclip at all is a server setting (g_allowRaceTele).
Practice mode
practice
practice toggles practice mode. Like
move, it needs you in racemode and standing still, and toggling it resets a running timer
(Cmd_Practice_f).
Times are not saved in practice mode. The server warns you on screen when you start a
run: “times are not valid in practice mode”
(g_trigger.c).
In exchange you get tools that would not be fair in a timed run:
- Strafebot. Hold
+button14and your strafe angle is set for you. It works in practice mode, and in thebotcpmstyle at any time (bg_pmove.c). Bind it like any other button, for examplebind mouse4 +button14. launch.launch<speed>throws you forward from where you stand at that speed.launch <x y z yaw xyspeed zspeed>teleports you to a point first, then launches you. Both start your timer, so you can rehearse a section from a known entry speed (Cmd_Launch_f).
Accounts and leaderboards
Your times are only recorded while you are logged in. If you start a run logged out, the
server warns you on screen
(g_trigger.c).
| Command | What it does |
|---|---|
register |
Creates an account and logs you in. |
login |
Logs in to your account. |
logout |
Logs out. |
aminfo |
Lists the server’s commands. |
whois |
Lists players with their client numbers, whether they are logged in, and their style. |
stats <player> |
Shows a player’s account statistics. |
rtop <course> <style> |
Top ten times for a course. With no style it shows jka (Cmd_DFTop10_f). |
rrank |
The overall leaderboard, or one style’s. |
rlatest |
The latest times, overall or for one style. |
top |
Duel leaderboards for the fighting modes, for example top saber. |
Log in again after every map change. Your login lives in data the server clears each
time you connect, and a map change reconnects you
(ClientConnect).
A basic HUD setup
Kane’s guide suggests starting from the Loda strafe helper preset, after backing up your current settings:
write defrag.cfg
exec strafehelper_loda
write (also writeconfig) saves your current
settings, so exec defrag.cfg puts them back.
Shipped configs lists the other
presets.
From there, adjust the pieces one at a time with their commands. Run each with no argument to see its options, and with a number to toggle one. HUD and movement tools covers them in detail.
| Command | What it configures |
|---|---|
strafehelper |
The strafe helper. strafehelper 14 toggles the line crosshair (cg_consolecmds.c). |
speedometer |
The speedometer. Kane recommends options 0, 1, 2, 10 and 13. |
stylePlayer |
Player-model visual options. |
pluginDisable |
Toggles gameplay and presentation options the server offers. The numbers follow the list your server prints, so check it before toggling. |
Settings racers change
Kane’s guide lists these as the next settings to look at once the basics are working. Tab
completion lists the rest: type cg_strafeHelper or cg_speedometer and press Tab.
| Setting | What it does |
|---|---|
cg_raceStart 1 |
Keeps your start speed on screen for the whole run, not just the first three seconds (hud_strafehelper.c). |
cg_speedometerX, cg_speedometerY |
Move the speedometer. Kane uses 400 and 200 to sit it above the strafe helper. |
cg_strafeHelper_FPS |
The frame rate the strafe helper calculates for. 0 uses your com_maxfps; values above 1000 are treated as 1000 (DF_SetFrameTime). |
cg_strafeHelperOffset |
How far the helper line sits from the optimal angle. The default is 75. Kane uses 0 and tracks one pixel over the line for maximum acceleration. |
cg_strafeHelperLineWidth |
Thickness of the helper lines and the line crosshair. |
cg_strafeHelperCutoff |
How far the helper lines extend. Higher values draw shorter lines. |
com_maxfps 333 |
Kane’s recommendation for the air-control styles and slick: in Kane’s experience it gives better mouse input and slightly more turning strength there, while styles without air control move at the same speed at 125 and 333. |
cl_timeNudge -100 |
Kane suggests this on a high ping, to run a high frame rate without “Connection Interrupted” warnings. The client ignores a negative value while you spectate or play a demo (cl_cgame.cpp). |
cg_specCameraMode |
When 1, the default, spectating someone on a jaPRO server uses their first- or third-person view and camera distance. 0 keeps your own (cg_view.c). Your cg_fov applies either way. |
cg_fov, cg_thirdPersonRange |
Field of view and third-person camera distance. |
On the rocket styles, rocketChange
flips the direction your rockets fire from. It needs you standing still and resets your timer
(g_cmds.c).
Your own checkpoints
You can mark split points on any course. They live only in your client, and nobody else sees them.
addCheckpoint <x1> <y1> <z1> <x2> <y2> <z2>
addCheckpoint takes two opposite
corners of a box
(CG_AddCheckpoint_f).
cg_showpos shows your coordinates so you can find them. When you pass through the box in
racemode with your timer running, it prints your split time, average speed and top speed in
the centre of the screen
(cg_snapshot.c).
listCheckpoints lists them by
number, deleteCheckpoint <#>
removes one, and teleToCheckpoint <#>
teleports you to it.
Strafe trails
A strafe trail draws a line through the map along a recorded run, marking where the runner jumped and landed. Loading the world record trail for a course shows you its whole route.
Etiquette: trails are a learning tool. Kane’s guide asks veteran players not to lean on them to copy a route they could work out themselves.
The trails for record runs come in a separate pk3. Download
strafetrails.pk3
and put it in the mod directory you play jaPRO from, the one the server’s fs_game selects.
loadTrail dash1-jka
clearTrail -1
loadTrail <course-style> loads
strafetrails/<course-style>.cfg
(CG_SpawnStrafeTrailFromCFG_f).
clearTrail <client #> removes a trail,
and -1 removes every trail
(CG_RemoveStrafeTrail).
You can also make trails:
strafeTrail<client #>draws a live trail behind a player in the server. Get their number fromshowPlayerIdorwhois. With no argument it lists players and which ones you are tracing;-1toggles every player.cg_logStrafeTrail<name>records your own runs tostrafetrails/<name>.cfgwhile your race timer is running, in the formatloadTrailreads (cg_snapshot.c). Set it back to0to stop.
Type cg_strafeTrail and press Tab for the settings that control how trails look.
Other things worth knowing
| Command | What it does |
|---|---|
cvarlist <filter> |
Lists cvars whose names match a wildcard, for example cvarlist *speedometer*. |
cosmetics |
Lists the hats and other cosmetics you can equip. Most unlock by finishing a particular course in a set time, and the list shows the requirement. See Cosmetics. |
listEmojis |
Lists the chat emoji your client loaded; they draw when cg_chatBoxEmojis is on. See Chat emoji. |
voicechat |
On a jaPRO server, opens the Tribes-style VGS voice menu, which sends a chat line and plays a voice clip. Bind it and type the letters: bind v voicechat, then V G S for “Shazbot!”. ui_vgs 0 turns the menu off (ui_main.c). |
Last changed History Edit this page on GitHub