Engine:Console commands: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
No edit summary
 
(147 intermediate revisions by the same user not shown)
Line 1: Line 1:
<!--{{macroapi}}-->
{{dev|macronav}}
This is a reference for Engine [[console commands]] available for use a [[chat window]] or other console, and as [[macro commands]] in a [[macro]].
This is a reference for Engine [[console commands]] available for use a [[chat window]] or other console, and as [[macro commands]] in a [[macro]].


This list describes all of the 'slash' commands from Engine itself, and not from any additional modules or [[AddOn]]s.  
This list describes all of the [[slash commands]], [[console commands]] and [[console variables]] from Engine itself, in one list for now. Does include not any from additional components or [[AddOn]]s. These same commands are available in the base Engine scripting language.


By default in the core or empty UI, the console can be entered during runtime by pressing the 'back tick' (`) and exited by pressing escape (Esc). If in a chat type box, commands can be run by starting with a forward slash before the command line, to separate them from actual chat.
== Notes ==
* By default, the console can be opened by pressing the 'back tick' (`) and exited by pressing escape (Esc).
* If in a chat type box, commands can be run by starting with a forward slash (/) before the command line, to separate them from actual chat.
 
=== Key ===
* Global command - Used below, is short-hand for commands placed in the 'global' context.
* Global variable - Used below, is short-hand for variables placed in the 'global' context.
* Default command - Command run by default if no command or alias exists for that name in the current, or inherited, context. Examples:
** <kua>var bob fred; bob</kua> Prints 'fred'. The 'var' command is used to create a new variable, then the next statement uses the 'global' default 'varedit' command to print the value of 'bob'. 'bob' is not a command but an existing variable.
** <kua>bob james; bob</kua> Prints 'james'. In the first statement, the global default command 'varedit' finds the existing 'bob' variable in the 'global' context, and assigns 'james'. In the next statement, the default command finds and prints the value of variable 'bob'.
** <kua>lua print(1 + 3)</kua> Prints '3'. The 'lua' context is addressable from 'global'. The default command 'lua_edit' in the 'lua' context runs the lua statement in the Lua runtime, where the 'print' is a real Lua statement, not an Engine script one.
** <kua>context lua; print(1 + 3); exit</kua> Also prints '3'. Switches to the 'lua' context. Runs the same 'lua_edit' default command, with the bare statement in the Lua runtime. Switches back to 'global' with the 'exit' command, which is not run in Lua runtime as it exists as a command in the 'lua' context.
* Context - A script or command context. Each context may have its own commands and variables and rules. Examples:
** <kua>client start</kua> Starts the client service. The 'client' context is addressable from 'global', and the client 'start' command is run.
** <kua>context client; start; context global</kua> Also starts the client service. Switches to 'client'. Then runs the 'start' command from "inside" the 'client' context, then switches back to 'global'.
* Command - An engine module command, also referred to as a 'CCmd'.
* Variable - An engine variable, similar to 'CVars' or config vars.
* Alias - An alias or macro which is a string of script.
* Binding - key bindings to the keyboard or mouse buttons, or from other real or virtual devices.
* Associations - Module or context associations and features.
* Service - An engine messaging service. Which may be internal, local, or network for send or receive.  Some types of services offer commands that only exist while the service is running. 
* Script - May refer to the base Engine script language, which can contain elements here. Or to strings of commands for an alias, or integrated higher-level scripting like blended in-line engine script with lua, JS, or C#.
* Module - An independent static module built into the engine. Modules may create one or more command or script contexts, services or other things. If the module is not available, its commands, variables and contexts won't exist.
* Log - A text buffer that may or may not have an actual file log attached. The default console is composed of a 'log' and a basic text mode edit box.


== Reference ==
== Reference ==
In Engine, commands are divided into sets defined by [[module]]s. Some commands are always available by default. Others are only available by setting console context to that module first. In some modules, there can be a default command that gets run if no actual command is specified.  
In Engine, commands are divided into sets defined by [[module]]s. Some commands are always available by default. Others are only available by setting console context to that module first. In some modules, there can be a default command that gets run if no actual command is specified.


=== Main ===
=== Data module ===
==== Data module ====
* In context by default
* In context by default
* Default command is 'varedit' if in context
* Default command is 'varedit' if in context
: [[MACRO var|varedit]] - (none), / - Prints or sets variable, if variable name and not other command.
 
: [[MACRO var|var]] - var, /var - Creates a variable. If already exists, then does not change value.
Global commands:
: [[MACRO var|set]] - set, /set - Set an existing var. Updates a value on an existing variable if exists.
: [[CCMD varedit|varedit]] - (none), / - Sets an existing variable. If does not exist then fails.
: [[MACRO var|alias]] - alias, /alias - New named script. Will change existing alias if already created.
: [[CCMD var|var]] - var, /var - Creates a new variable only. If already exists, then does not change value.
: [[MACRO var|bind]] - bind, /bind - Key to script.  Map a key to a script block.
: [[CCMD set|set]] - set, /set - Creates or sets a variable. Works whether already exists or not.
: [[CCMD alias|alias]] - alias, /alias - New named script. Will change existing alias if already created.
: [[CCMD bind|bind]] - bind, /bind - Key to script.  Map a key to a script block.
: [[CCMD echo|echo]] - echo, /echo - Write text to log only. Print text to current console but not the file.
: [[CCMD print|print]] - print, /print - Write text to log and file. Print text to current console and to file.
: [[CCMD context|context]] - context, /context - Change context. Change current console context to another known context.
: [[CCMD run|run]] - run, /run - Load and run script file. Run a named script file. Name must include extension.
 
Global vars:
: [[CVAR lib_path|lib_path]] - './lib/' - Path for native 'world' libraries.
: [[CVAR base_path|base_path]] - './data/' - Path for content and assets.
: [[CVAR module|module]] - 'game' - Base name for 'world' module, without platform postfix.
: [[CVAR GameDll|GameDll]] - (none) - Full path for 'world' module, './lib/gamex86.dll'.
: [[CVAR s_use_ai|s_use_ai]] - '1.0' - If world 'AI' processing is enabled.
: [[CVAR map|map]] - 'maps/base1.bsp' - Full path for default content module.
: [[CVAR startup|startup]] - (none) - Full path of initial startup script.
 
Assignments:
: Explicit context name is 'global'
: Default reachable contexts: 'client'
: Optional reachable contexts: 'lua'
: Default log assignment is 'log'
: Initial console assignment is 'console'
 
==== Lua context ====
Free standing Lua context in the Data module as a script interface to the main Lua runtime.
* Default command is 'lua_edit' if in context
 
Global commands:
: none
 
Global vars:
: none
 
Bindings:
: none
 
Assignments:
: Explicit context name is 'lua' reachable through 'global'
: Default reachable contexts: none. See 'exit' command
: Optional reachable contexts: none
: Default self-reference context: 'lua'
: Does not inherit 'global' context
 
Lua context commands:
: [[CCMD lua.lua_edit|lua_edit]] - (none), / - Runs a Lua command in the main Lua runtime as though were in a Lua console
: [[CCMD lua.run|run]] - lua run - Runs a Lua command in the Lua runtime.
: [[CCMD lua.block|block]] - lua run - Runs a Lua command block in the Lua runtime
: [[CCMD lua.exit|exit]] - lua exit - Immediately switches current context to 'global'
 
Lua context variables:
: none
 
Lua context aliases:
: none
 
Lua functions placed in a Lua runtime by the lua context:
: [[CLUA script|script]] - Runs an engine script from the Lua runtime.
: [[CLUA require|require]] - Loads and runs lua text file asset from engine data.
 
=== Msg module ===
 
Global commands:
: none
 
Global vars:
: none
 
Bindings:
: none
 
Assignments:
: none
 
=== Render module ===
 
Global commands:
: none
 
Global vars:
: [[CVAR r_width|r_width]] - '900' - Initial main window height.
: [[CVAR r_height|r_height]] - '600' - Initial main window width.
: [[CVAR r_bpp|r_bpp]] - '32' - Initial render device color bit depth.
: [[CVAR r_fullscreen|r_fullscreen]] - (none) - If device full-screen, without window.
: [[CVAR r_gamma|r_gamma]] - '1.0' - Device color gamma correction.
: [[CVAR r_vsync|r_vsync]] - '1.0' - If should render each frame one frame synced with device rate.
 
Assignments:
: none
 
=== Input module ===
 
Global commands:
: [[CCMD quit|quit]] - quit, /quit - Exits engine immediately with graceful shutdown.
 
Global vars:
: [[CVAR m_sensitivity|m_sensitivity]] - '1.0' - General mouse sensitivity.
: [[CVAR m_raw|m_raw]] - '1' (0,1,2) - 0 off if can, 1 on if can, 2 force on. Windows always on. Off if platform not complete or in a VM.
 
Bindings:
: KB_ESC - 27 - 'quit'
 
Assignments:
: none
 
=== Console module ===
 
Global commands:
: [[CCMD console|console]] - console, /console - Opens command console
 
Global vars:
: none
 
Bindings:
: KB_GRAVE - 192 - 'console'
 
Assignments:
: Service name 'console'
 
=== World module ===
 
Global commands:
: none
 
Global vars:
: none
 
Bindings:
: none
 
Assignments:
: none
 
=== Server module ===
 
Global commands:
: none
 
Global vars:
: none
 
Bindings:
: none
 
Assignments:
: Service name 'server'
 
=== Client module ===
 
Global commands:
: none
 
Global vars:
: [[CVAR fov|fov]] - '90' - World field of view for display
 
Bindings:
: none
 
Assignments:
: Explicit context name is 'client' reachable through 'global'
: Inherits 'global' context
: Service name 'client'
 
Client context commands:
: [[CCMD client.start|start]] - client start - Starts the 'client' module.
: [[CCMD client.stop|stop]] - client stop - Stops the 'client' module.
 
Client context aliases:
: [[CCMD client.lol|lol]] - client lol - 'print "client lol"' - Demo alias. Prints "client lol".

Latest revision as of 18:33, 17 October 2023

Engine development

This is a reference for Engine console commands available for use a chat window or other console, and as macro commands in a macro.

This list describes all of the slash commands, console commands and console variables from Engine itself, in one list for now. Does include not any from additional components or AddOns. These same commands are available in the base Engine scripting language.

Notes[edit]

  • By default, the console can be opened by pressing the 'back tick' (`) and exited by pressing escape (Esc).
  • If in a chat type box, commands can be run by starting with a forward slash (/) before the command line, to separate them from actual chat.

Key[edit]

  • Global command - Used below, is short-hand for commands placed in the 'global' context.
  • Global variable - Used below, is short-hand for variables placed in the 'global' context.
  • Default command - Command run by default if no command or alias exists for that name in the current, or inherited, context. Examples:
    • var bob fred; bob
      Prints 'fred'. The 'var' command is used to create a new variable, then the next statement uses the 'global' default 'varedit' command to print the value of 'bob'. 'bob' is not a command but an existing variable.
    • bob james; bob
      Prints 'james'. In the first statement, the global default command 'varedit' finds the existing 'bob' variable in the 'global' context, and assigns 'james'. In the next statement, the default command finds and prints the value of variable 'bob'.
    • lua print(1 + 3)
      Prints '3'. The 'lua' context is addressable from 'global'. The default command 'lua_edit' in the 'lua' context runs the lua statement in the Lua runtime, where the 'print' is a real Lua statement, not an Engine script one.
    • context lua; print(1 + 3); exit
      Also prints '3'. Switches to the 'lua' context. Runs the same 'lua_edit' default command, with the bare statement in the Lua runtime. Switches back to 'global' with the 'exit' command, which is not run in Lua runtime as it exists as a command in the 'lua' context.
  • Context - A script or command context. Each context may have its own commands and variables and rules. Examples:
    • client start
      Starts the client service. The 'client' context is addressable from 'global', and the client 'start' command is run.
    • context client; start; context global
      Also starts the client service. Switches to 'client'. Then runs the 'start' command from "inside" the 'client' context, then switches back to 'global'.
  • Command - An engine module command, also referred to as a 'CCmd'.
  • Variable - An engine variable, similar to 'CVars' or config vars.
  • Alias - An alias or macro which is a string of script.
  • Binding - key bindings to the keyboard or mouse buttons, or from other real or virtual devices.
  • Associations - Module or context associations and features.
  • Service - An engine messaging service. Which may be internal, local, or network for send or receive. Some types of services offer commands that only exist while the service is running.
  • Script - May refer to the base Engine script language, which can contain elements here. Or to strings of commands for an alias, or integrated higher-level scripting like blended in-line engine script with lua, JS, or C#.
  • Module - An independent static module built into the engine. Modules may create one or more command or script contexts, services or other things. If the module is not available, its commands, variables and contexts won't exist.
  • Log - A text buffer that may or may not have an actual file log attached. The default console is composed of a 'log' and a basic text mode edit box.

Reference[edit]

In Engine, commands are divided into sets defined by modules. Some commands are always available by default. Others are only available by setting console context to that module first. In some modules, there can be a default command that gets run if no actual command is specified.

Data module[edit]

  • In context by default
  • Default command is 'varedit' if in context

Global commands:

varedit - (none), / - Sets an existing variable. If does not exist then fails.
var - var, /var - Creates a new variable only. If already exists, then does not change value.
set - set, /set - Creates or sets a variable. Works whether already exists or not.
alias - alias, /alias - New named script. Will change existing alias if already created.
bind - bind, /bind - Key to script. Map a key to a script block.
echo - echo, /echo - Write text to log only. Print text to current console but not the file.
print - print, /print - Write text to log and file. Print text to current console and to file.
context - context, /context - Change context. Change current console context to another known context.
run - run, /run - Load and run script file. Run a named script file. Name must include extension.

Global vars:

lib_path - './lib/' - Path for native 'world' libraries.
base_path - './data/' - Path for content and assets.
module - 'game' - Base name for 'world' module, without platform postfix.
GameDll - (none) - Full path for 'world' module, './lib/gamex86.dll'.
s_use_ai - '1.0' - If world 'AI' processing is enabled.
map - 'maps/base1.bsp' - Full path for default content module.
startup - (none) - Full path of initial startup script.

Assignments:

Explicit context name is 'global'
Default reachable contexts: 'client'
Optional reachable contexts: 'lua'
Default log assignment is 'log'
Initial console assignment is 'console'

Lua context[edit]

Free standing Lua context in the Data module as a script interface to the main Lua runtime.

  • Default command is 'lua_edit' if in context

Global commands:

none

Global vars:

none

Bindings:

none

Assignments:

Explicit context name is 'lua' reachable through 'global'
Default reachable contexts: none. See 'exit' command
Optional reachable contexts: none
Default self-reference context: 'lua'
Does not inherit 'global' context

Lua context commands:

lua_edit - (none), / - Runs a Lua command in the main Lua runtime as though were in a Lua console
run - lua run - Runs a Lua command in the Lua runtime.
block - lua run - Runs a Lua command block in the Lua runtime
exit - lua exit - Immediately switches current context to 'global'

Lua context variables:

none

Lua context aliases:

none

Lua functions placed in a Lua runtime by the lua context:

script - Runs an engine script from the Lua runtime.
require - Loads and runs lua text file asset from engine data.

Msg module[edit]

Global commands:

none

Global vars:

none

Bindings:

none

Assignments:

none

Render module[edit]

Global commands:

none

Global vars:

r_width - '900' - Initial main window height.
r_height - '600' - Initial main window width.
r_bpp - '32' - Initial render device color bit depth.
r_fullscreen - (none) - If device full-screen, without window.
r_gamma - '1.0' - Device color gamma correction.
r_vsync - '1.0' - If should render each frame one frame synced with device rate.

Assignments:

none

Input module[edit]

Global commands:

quit - quit, /quit - Exits engine immediately with graceful shutdown.

Global vars:

m_sensitivity - '1.0' - General mouse sensitivity.
m_raw - '1' (0,1,2) - 0 off if can, 1 on if can, 2 force on. Windows always on. Off if platform not complete or in a VM.

Bindings:

KB_ESC - 27 - 'quit'

Assignments:

none

Console module[edit]

Global commands:

console - console, /console - Opens command console

Global vars:

none

Bindings:

KB_GRAVE - 192 - 'console'

Assignments:

Service name 'console'

World module[edit]

Global commands:

none

Global vars:

none

Bindings:

none

Assignments:

none

Server module[edit]

Global commands:

none

Global vars:

none

Bindings:

none

Assignments:

Service name 'server'

Client module[edit]

Global commands:

none

Global vars:

fov - '90' - World field of view for display

Bindings:

none

Assignments:

Explicit context name is 'client' reachable through 'global'
Inherits 'global' context
Service name 'client'

Client context commands:

start - client start - Starts the 'client' module.
stop - client stop - Stops the 'client' module.

Client context aliases:

lol - client lol - 'print "client lol"' - Demo alias. Prints "client lol".