Commands
Cache Skin (nm_cacheSkin
)
Forces player models/skins to be loaded into memory, which can reduce future load times.
Usage: nm_cacheSkin <model(s), separated by spaces>
Example: nm_cacheSkin kyle jan desann reborn/boss
If no skin is specified (e.g. red
, blue
, default
), all skins for that model will be loaded.
Use the special argument all
to load all detected player models/skins into memory (takes a long time), or use the special argument allteam
to load all red/blue player models/skins into memory (takes some time). These are helpful if you are going to be playing for a few hours and want to load all skins into memory before starting.
This command works from the main menu, so you can add it to your autoexec.cfg
if you wish.
Client List (clientlist
)
Displays a list of all connected clients and their real client numbers.
Helpful for commands that require client numbers, such as nm_playerTracker
.
Copy URL (copy
)
Open URL (open
)
After someone writes a URL in chat, it is assigned an ID number. You can then use open [id]
to open the URL in your default browser, or copy [id]
to copy it to the clipboard.
You may optionally leave out the argument to simply open the last detected URL.
You can disable this with cg_chatURLs
(for example, if trolls are spamming dumb links).
Countdown Timer (nm_timer
)
Draws a countdown timer on your screen.
Usage: nm_timer <time in seconds> [optional parameters, separated by spaces]
First argument (time in seconds) is required. Additional optional parameters can be:
Argument | Description |
---|---|
Argument: name=<name> | Description: Writes a small label over the timer. |
Argument: color=<color> | Description: Changes the color of the timer. For <color> , use any color name or hex code, e.g. purple or #ff00ff . |
Argument: replace | Description: If a timer with this name already exists, it will be replaced with this one. |
Argument: once | Description: If a timer with this name already exists, nothing will happen. |
Argument: toggle | Description: If a timer with this name already exists, it will be stopped. |
Argument: hideName | Description: If a name exists for this timer, it will be hidden. This allows the name to simply act as an internal identifier (for replace , once , toggle , and cooldown ) rather than actually visible text. |
Argument: removeOnDeath | Description: This timer will be automatically removed when you die. |
Argument: startSound | Description: Plays a sound when the timer starts. |
Argument: endSound | Description: Plays a sound when the timer finishes. |
Argument: cooldown=<time in seconds> | Description: If a timer with this name already exists and was started more recently than <time in seconds> , nothing will happen. Useful for preventing accidental double presses, e.g. using cooldown=1.5 to match the 1.5-second cooldown of timed force powers. |
Argument: vstr=<arguments> | Description: Execute the contents of one or more cvars. This parameter can be used in three ways:
|
Argument: hide | Description: Do not display the timer. Most useful in combination with vstr . |
Examples:
nm_timer 120
nm_timer 20 name=Protect color=green replace
nm_timer 20 once name=Overboard
Delay/Wait Freely Commands:
Delay (delay
)
Waits a specified time (in milliseconds) before executing whatever follows. Unlike the base JKA wait
command, other commands may freely execute in the meantime.
Example:say darth;delay 1000;say vader
Delay Cancel (delaycancel
)
Cancels any pending delay
(s) that contain the argument. Use ""
to match anything.
Example: delaycancel vader
Wait Freely (waitf
)
Waits a specified time (in number of frames) before executing whatever follows. Unlike the base JKA wait
command, other commands may freely execute in the meantime.
Example:say darth;waitf 333;say vader
Wait Freely Cancel (waitfcancel
)
Cancels any pending waitf
(s) that contain the argument. Use ""
to match anything.
Example: waitfcancel vader
Delete Password (nm_deletePassword
)
Manually deletes a saved password from the database; stops automatically using a password for the specified server.
Since Newmod automatically deletes passwords if they are detected to be incorrect, this command shouldn't be needed except for unusual cases where a manual override is necessary, such as switching between the normal server password and the private slot password.
Usage: nm_deletePassword <ip:port>
Demo Restart (demo_restart
)
Restarts the current or last-played demo.
Force Model Temporarily (nm_tempForceModel
)
Temporarily forces an individual player to a specified model. Models forced with this command take precedence over those from the Player Tracker (nm_playerTracker
) command and the Force Models cvar (cg_forceModel
), and only last for the current session.
Usage: nm_tempForceModel <client number or partial name> [model]
To reset a player's forced model, omit the [model]
argument.
Example: nm_tempForceModel hannah reelo/default
FPS Test (nm_fps
)
Measures average FPS over time. To ensure accurate testing, it is recommended to keep test conditions consistent (do not look around, move, etc.).
Usage: nm_fps [optional duration in seconds]
Defaults to 30 seconds if no duration argument is specified.
If Cvar (ifCvar
)
Executes a certain command based on the current setting of a cvar.
Usage: ifCvar [cvar name] <setting> <number of arguments to execute> <arguments to execute> <some other setting> <some other number of arguments> <some other arguments> ...
Settings can optionally begin with special modifiers prepended with $
dollar sign:
Modifier | Description |
---|---|
Modifier: $= | Description: Convert the setting to a number and compare whether it is equal to another number. |
Modifier: $!= | Description: Convert the setting to a number and compare whether it is unequal to another number. |
Modifier: $> | Description: Convert the setting to a number and compare whether it is greater than another number. |
Modifier: $< | Description: Convert the setting to a number and compare whether it is less than another number. |
Modifier: $>= | Description: Convert the setting to a number and compare whether it is greater than or equal to another number. |
Modifier: $<= | Description: Convert the setting to a number and compare whether it is less than or equal to another number. |
Modifier: $contains | Description: Compare whether the setting contains some text anywhere in it. |
Modifier: $beginswith | Description: Compare whether the setting begins with some text. |
Modifier: $endswith | Description: Compare whether the setting ends with some text. |
Modifier: $else | Description: This keyword will cause the comparison to always be true. |
Modifier: (No modifier used) | Description: Compare whether the setting matches some text. |
Settings can also reference the value of another cvar by prepending that cvar's name with $.
Simple example: ifCvar cg_myCvar 0 2 say_team hi 1 2 say_team bye
→ if cg_myCvar is 0
, then say_team hi
is executed. If it's 1
, then say_team bye
is executed.
Complex example: ifCvar cg_mycvar $>=$cg_someOtherCvar 1 quit $containsbeer 3 set model desann $else 4 bind x say_team "hello there"
→ if cg_myCvar
is greater than or equal to the value of cg_someOtherCvar
, then quit is executed. If it contains the word beer
anywhere, then set model desann
is executed. For anything else, bind x say_team "hello there"
is executed.
Minimize (minimize
)
Minimizes JKA.
For vanilla executable users, the Allow Minimize cvar (cl_allowMinimize
) controls whether your screen resolution is automatically changed when using this command.
Music Controls:
Next Track (mnext
)
Previous Track (mprev
)
Pause/Play Music (mpause
)
Stop Music (mstop
)
These commands simulate hardware media buttons. Useful for controlling your music while in-game.
Note that some music players do not support media buttons by default; for example, VLC Media Player requires media button support to be manually enabled in VLC's settings.
Mute (mute
)
Toggles playback of all in-game sound.
New Weapon (weapnew
)
Switches to your most recently acquired weapon.
NM Tell (nm_tell
)
Sends a private message to a specified player, using their client number or partial name. Works with both real player names and locally-forced player names. This command is actually just a preprocessor to the base server command tell
.
Usage: nm_tell <client number or partial name> <message>
Example:
Let's say there is a player in slot 13 named "Hannah" whom you have locally renamed to "Dead Weight." You can use nm_tell dead hey
, which in turn sends the command tell 13 hey
, which is a serverside command that sends the client in slot 13 a message saying "hey".
Player Tracker (nm_playerTracker
)
Allows you to do many things regarding other players. On base_enhanced/base_entranced servers, this persists even after disconnecting.
Usage: nm_playerTracker <argument>
Arguments can be:
Argument | Description |
---|---|
Argument: forcename <client number> <name> | Description: Forces a player to have a specified name. |
Argument: forcemodel <client number> <name> | Description: Forces a player to have a specified model. |
Argument: translate <client number> <their language> | Description: Translate chat messages from a player. Set your native/preferred language using the Translate To cvar ( |
Argument: mute <client number> | Description: Related cvars and commands:
Disables a player's vchat sounds. Their vchat text will still display in the chatbox, and their vchats may still play beep sounds, depending on your "Chat Beep" ( |
Argument: softignore <client number> | Description: Soft-ignores a player's messages (only see them in the console). |
Argument: hardignore <client number> | Description: Hard-ignores a player's messages (completely block them). |
Argument: softfilter <client number> | Description: Soft-filters a player's messages (see useful teamchat information only; see original messages in console). |
Argument: hardfilter <client number> | Description: Hard-filters a player's messages (see useful teamchat information only). |
Argument: list | Description: Lists all tracked players present on the server + their tracker ID numbers. |
Argument: list offline | Description: Lists all tracked players + their tracker ID numbers. |
Argument: del <tracker ID number> | Description: Deletes a player from the player tracker. Make sure to use their tracker ID number, which can be found using nm_playerTracker list . Do not use their client number! |
Examples:
nm_playerTracker forcename 6 noob
→ renames the player in slot 6 to "noob"
nm_playerTracker translate 3 hun
→ translates the player in slot 3 from Hungarian.
Quiet CFG Execution (execq
)
Executes a CFG file without printing the "execing filename.cfg" message.
Random Command (random
)
Executes a random command.
Usage: random <number of arguments> <arguments> <some other number of arguments> <some other arguments> ...
Example: random 1 taunt 1 gloat 2 say "hello there"
Save Demo (saveDemo
)
Flags the currently-autorecording demo to be saved after the match. Also notes the current game time so that you can keep track of your nice frags. For example, if you press saveDemo
after getting a dank stun baton air at 13:37 and your "Demo Filename Format" (cg_demoFormat
) setting is %N
, the demo filename will be kejim 1337
Later, if you get another dank frag at 16:30 and press saveDemo
again, the demo filename will be kejim 1337,1630
.
You can optionally manually override the filename with a custom name, e.g. saveDemo dank stun baton air
.
See the Demos page for more information.
Save Last Demo (saveLastDemo
)
If you forgot to save the demo from the last match, use this command to make sure it gets saved.
Most users will probably never need this.
See the Demos page for more information.
Shell Command (shell
)
Executes a shell command. Requires enabling "Open Shell" (cg_openShell
) as a safeguard due to the potential security risks (e.g. trolls telling you to enter commands that will shutdown your computer).
JKA will wait to resume execution until your command finishes execution. If your command will take a while, you may wish to use start
before your command so that JKA resumes execution immediately.
If the command returns an output, the cvar shellOutput
will be set to that output.
Example: shell python C:/test.py
→ runs a Python script
Stopwatch (nm_stopwatch
)
Draws a timer on your screen that counts up from zero until stopped. Useful for measuring timings, etc.
Optional parameters, separated by spaces, can be:
Argument | Description |
---|---|
Argument: (none) | Description: Timer toggles start/stop. |
Argument: start | Description: Timer (re)starts at zero. |
Argument: pause | Description: Timer pauses. |
Argument: stop | Description: Timer stops. |
Argument: x=<percent> | Description: Overrides the x-axis location of the timer on your screen. For example, 50 results in the middle of your screen. |
Argument: y=<percent> | Description: Overrides the y-axis location of the timer on your screen. For example, 50 results in the middle of your screen. |
Strafe Helper Tweaker (strafe
)
Configures your setting for the Strafe Helper cvar (cg_strafeHelper
).
Examples:
strafe
→ views your current settings.
strafe sound on
→ enables the sound
parameter.
strafe sasd blue
→ enables the sasd
parameter with blue
color.
strafe 2
→ sets cg_strafeHelper
to 2
(race preset).
String Substitution (strSub
)
Executes a command, substituting in the contents of cvar(s). Surround cvar names with $
dollar signs.
Example: strsub say "Hello, I am $name$"
Use Toggle (nm_useToggle
)
Toggles +use
and -use
. Useful for playing tech in Siege (allows automatic dispensing of ammo/health).
Vchat (nm_vchat
)
- Chat Beep cvar (
cg_beep
) - Vchat cvars
- Spectator Memes cvar (
cg_specMemes
) - Vchat Modifiers cvar (
cg_vchatModifiers
) - Player Tracker command's
mute
argument (nm_playerTracker mute
)
Command for sending voice chats (vchats). Can be used several ways:
Without any arguments: opens a menu of all installed vchat packs. If you only have one pack installed, the menu just opens directly to that pack.
With the argument
download
, followed by a vchat pack name: attempts to download a vchat pack from the current server, if the server supports it.Usage:
nm_vchat download <vchat pack name>
With a vchat pack name as the argument: opens the vchat menu directly to the specified pack.
Usage:
nm_vchat <vchat pack name>
With 2+ arguments: opens the vchat menu directly to the specified pack, and then inputs the specified hotkey sequence.
Usage:
nm_vchat <vchat pack name> <hotkey sequence> [optional team/global]
For example,
nm_vchat vgs gca team
opens the "vgs" pack menu, inputs the hotkey sequence G C A, and sends the corresponding message to teammates only.
Custom vchats are added to your JKA via separate add-on mods; they are not included in Newmod. Custom vchats only work on servers that explicitly support this feature. When playing on a non-supporting server, your vchats will instead be sent as standard chat messages.
Vchats are divided into three categories: teamwork, general, and meme. Teamwork and general vchats are processed as standard chat messages on non-Newmod clients. Meme vchats are not processed whatsoever on non-Newmod clients.
By default, you can hold Ctrl when selecting a vchat to send it to allies only, or hold Shift to send it globally. You can customize these keys with the Vchat Modifiers cvar (cg_vchatModifiers
). When sending a teamwork vchat globally, or as a spectator, the category is automatically changed to meme (since there's no legitimate reason to give teamwork instructions globally, or as a spectator).
Note to modders: see the "instructions for creating vchat packs.txt" file in the Newmod assets for instructions on how to create your own packs.
VSTR Queue (vstrq
)
Queues a VSTR to be executed after a certain delay.
Usage: vstrq <VSTR name> <delay in milliseconds>
For example, if you do vstrq action 5000
, the game will wait 5000 milliseconds and then perform vstr action
. The advantage of this over the old wait
command is that it doesn't block commands from being executed in the mean time; for example, in the past, if you did wait 5000; action
, you couldn't do anything for 5 seconds. Now you can do vstrq action 5000
and perform other commands in the mean time.
VSTR Queue Cancel (vstrqcancel
)
Cancels a queued VSTR from the vstrq
command (see above).
Usage: vstrqcancel <VSTR name>
Weapon Group (nm_weaponGroup
)
nm_weaponGroupPrev
in version 1.9.0!Cycles through a specified set of weapons. If you aren't currently equipping one of them, you will switch to the first one in the list that you have.
Use nm_weaponGroupPrev
to cycle in the reverse direction.
Usage: nm_weaponGroup <weapon names, separated by spaces>
Example: nm_weaponGroup conc rocket golan thermal detpack