Debug commands
Jump to navigation
Jump to search
Debug commands are commands used for testing and debugging certain Terraria features. It is initially disabled, and requires modifying Terraria's program to enable it.[1]
When debug commands are enabled, pressing F5 during world generation enters the Debug world generation.[2]
List
Information taken from the
Desktop 1.4.5.4 source code, class ToolkitDebugCommands in Terraria.Testing.ChatCommands.cs. There may be inaccuracies, as the current
Desktop version is 1.4.5.6.
| Command | Usage | Requirement | Description | Response[a] | Error response[b] | Notes |
|---|---|---|---|---|---|---|
hh | /hh | Client | Opens a list of all the debug commands | n/a | n/a | Opens the debug command list UI. Clicking a command in the list automatically inputs it into chat. |
memo | /memo <custom-command-name> | Client | Creates a shortcut command with a given name. Opens the file to write in. One command per line. Accepts arg substitions ({0}, {1}, etc) | n/a | n/a | Opens the corresponding .txt file. File is stored at %USERPROFILE%\Documents\My Games\Terraria\MemoCommands. |
memonum | /memonum <0-9> | Client | Creates a memo for a numpad key (0-9). Shorthand for /memo numpad{i} | n/a | Invalid numpad key number | Opens the corresponding .txt file. File is stored at %USERPROFILE%\Documents\My Games\Terraria\MemoCommands. |
setserverping | /setserverping <ms> | Multiplayer RPC | Sets a target ping for all players on the server. Clients will automatically adjust /latency to achieve it. | Target ping set {0}ms | n/a | Valid ping: 1–9999ms (inclusive) |
latency | /latency <ms> | Multiplayer client | Adds latency to incoming and outgoing packets sent by this client. | Latency set to {0}ms | n/a | |
setdrawwait | /setdrawwait <delay in ms> | Client | Sets a fixed waiting period to occur during each engine draw call. | Draw wait time set to {0}ms | n/a | Valid delay: 1–99ms (inclusive) |
setupdatewait | /setupdatewait <delay in ms> | Client | Sets a fixed waiting period to occur during each engine update call. | Update wait time set to {0}ms | n/a | Valid delay: 1–99ms (inclusive) |
toggleinactivewait | /toggleinactivewait | Client | Toggles main thread sleeping when window is unfocused (this setting is saved). | Inactive CPU throttling enabled Inactive CPU throttling disabled | n/a | |
quickload | /quickload [stop] | Client | Automatically rejoin this world/server with this player whenever the game is launched. Executes /onquickload memo when joining the world. Will relaunch all local clients when used with Host & Play | Quick Load configuration set. Hold shift while loading to clear it. Quick Load configuration cleared. | n/a | Accepts stop, disable, clear, cancel, or exit as parameter for clearing configuration. |
quickload-regen | /quickload-regen | Singleplayer | Automatically regenerate this world whenever the game is launched. Executes /onquickload memo when joining the world | Quick Load configuration set. Hold shift while loading to clear it. | n/a | |
light | /light | Client | Toggles the lighting system between active and fullbright. | Lighting enabled Lighting disabled | n/a | |
nolimits | /nolimits | Client | No border restrictions | No limits enabled No limits disabled | n/a | |
save | /save | Client | Save the player (and the world if single player) | Player and world saved! Player saved! | n/a | |
reload | /reload | Singleplayer | Reloads the last save | Reloaded in {0}ms | n/a | |
quit | /quit | Client | Exit world without saving | n/a | ||
reloadpacks | /reloadpacks | Client | Reloads resource packs. | Resource Packs Reloaded. | n/a | |
frame | /frame | Client | Resets all frame data | World frame data cleared | n/a | |
hash | /hash | Any authority | Prints out the hash of all saved (non-volatile) tile data | Tile data hash: {0:X8} | n/a | |
snapshot | /snapshot | Any authority | Creates a snapshot of the current tile state for the world. | Tile Snapshot Created. | n/a | |
snapclear | /snapclear | Any authority | Clears previously created snapshot. | Tile Snapshot Cleared. | n/a | |
snapsave | /snapsave <name> | Any authority | Saves a snapshot in dev-snapshots. | Tile Snapshot Saved to dev-snapshots/<name>.gensnapshot | Snapshot name required | File is stored at %USERPROFILE%\Documents\My Games\Terraria\dev-snapshots |
snapload | /snapsave <name> | Any authority | Loads a snapshot in dev-snapshots. | Tile Snapshot Loaded. Use /swap or /restore to apply. | Snapshot name required File not found: dev-snapshots/<name>.gensnapshot | |
restore | /restore | Any authority | Restores the world's tiles to the previously created snapshot. | Tile snapshot restored in {0}ms | No snapshot to restore Tile snapshot does not match current world size | |
swap | /swap | Any authority | Swaps the world's tiles with the previously created snapshot. | Tile snapshot swapped in {0}ms | No snapshot to restore Tile snapshot does not match current world size | |
snapshotdiff | /snapshotdiff | Singleplayer | Finds differences between the current map and saved snapshot. Use /next to skip through them. | n/a | No snapshot to compare Tile snapshot does not match current world size | Addes a Map Ping on minimap at found tile. |
find | /find <tile id> | Client | Iterates through all instances of a tile in the world. Use /next to skip through them | Tile <Tile name> found at {X:<x>, Y:<y>} Tile <Tile name> scan complete. | n/a | |
findwall | /findwall <wall id> | Client | Iterates through all instances of a wall in the world. Use /next to skip through them | Wall #<wall id> found at {X:<x>, Y:<y>} Wall #<wall id> scan complete. | n/a | |
next | /next | Client | Finds the next instance of a tile/wall/object. Requires calling /find, /findwall or /snapshotdiff first | (See /find, /findwall, or /snapshotdiff) | Scan not started. Nothing to find. | |
showsections | /showsections | Client | Toggles net section overlay. | n/a | n/a | Draws net section (world "chunks") as rectangular areas in world and on minimap. |
nopause | /nopause | Singleplayer | Makes the game not pause when focus is lost | Pause on focus loss enabled Pause on focus loss disabled | n/a | |
map | /map [pretty] | Client | Reveals the full map for the world. | n/a | n/a | Draws each minimap tile at full brightness by default. If with pretty parameter, tiles are drawn at reduced brightness if there is wall at the tile, if the tile is below surface, or if the tile is surrounded by other tiles.[3] |
clearmap | /clearmap | Client | Deletes the full map for the world. | n/a | n/a | Resets the player's minimap to fully dark. |
hideall | /hideall | Client | Stops tiles, walls, and water from drawing | Everything is hidden Everything is shown | n/a | Only leaves entities and background visible. |
hidetiles | /hidetiles | Client | Stops tiles from drawing on the screen | Tiles are hidden Tiles are shown | n/a | |
hidetiles2 | /hidetiles2 | Client | Stops non-solid tiles from drawing on the screen | Secondary tiles are hidden Secondary tiles are shown | n/a | |
hidewalls | /hidewalls | Client | Stops walls from drawing on the screen | Walls are hidden Walls are shown | n/a | |
hidewater | /hidewater | Client | Stops water from drawing on the screen | Water is hidden Water is shown | n/a | Toggles the drawing of all liquids. |
showunbreakablewalls | /showunbreakablewalls | Client | Forces unbreakable walls to be visible even when covered by tiles | Unbreakable walls are shown Unbreakable walls are hidden | n/a | Only affects the drawing of the unobtainable Unbreakable Wall. |
showlinks | /showlinks | Client | Draws gamepad link points as an interface overlay | Gamepad link points are shown Gamepad link points are hidden | n/a | |
shownetoffset | /shownetoffset | Client | Draws dust for debugging netOffset | netOffset dust shown netOffset dust hidden | n/a | |
fakenetoffset | /fakenetoffset <dx> <dy> | Client | Sets the netOffset for all entities to a given value (in pixels). | netOffset set to (<x>, <y>) | n/a | |
nodamagevar | /nodamagevar | Client | Removes damage variation (the inherent +/- 15% from damage). Useful for gathering specific data on true damage. | No Damage Vars: On No Damage Vars: Off | n/a | |
hurtdummies | /hurtdummies | Client | Allows projectiles to aim at target dummies. | Aim At Dummies: Enabled Aim At Dummies: Disabled | n/a | Allows homing projectiles, minions, and sentries to target the Target Dummy. |
practice | /practice | Singleplayer | Toggles practice mode, which resets boss fights when you would take lethal damage. | Practice Mode enabled Practice Mode disabled | n/a | Triggered when the player dies if any boss are alive or hostile events are active. It has the following effects:[4]
|
showdebug | /showdebug | Multiplayer RPC or Local server | Toggles command reporting. | Command reporting enabled Command reporting disabled | /showdebug can only be toggled by the host or server console. |
References
- ↑ Information taken from the
Desktop 1.4.5.5 source code, field enableDebugCommandsinTerraria.Testing.DebugOptions.cs. There may be inaccuracies, as the current
Desktop version is 1.4.5.6.
- ↑ Information taken from the
Desktop 1.4.5.5 source code, method Update()inTerraria.GameContent.UI.States.UIWorldLoad.cs. There may be inaccuracies, as the current
Desktop version is 1.4.5.6.
- ↑ Information taken from the
Desktop 1.4.5.4 source code, method UnlockMapTilePretty()inTerraria.Map.WorldMap.cs. There may be inaccuracies, as the current
Desktop version is 1.4.5.6.
- ↑ Information taken from the
Desktop 1.4.5.4 source code, method PracticeModeReset()inTerraria.Testing.DebugUtils.cs. There may be inaccuracies, as the current
Desktop version is 1.4.5.6.