Skip to content

Command syntax

Person8880 edited this page Jun 16, 2018 · 22 revisions

One of Shine's design goals is to be easy to use. Thus I've created an easy to use targeting system that lets you fine tune exactly who you want to target. This command syntax applies to both console commands and chat commands in the same way.

Player names are always completed, you do not need to type the full name. However, Shine checks game IDs first, then NS2/Steam IDs and finally checks the name. If you enter a number value, it will only be checked against first the game ID list, then NS2IDs. Number values are not checked against names.

Note

Not all commands support multiple player targets. See the plugin pages or use sh_help <command> for whether a command takes a single player or multiple players as arguments.

To use spaces in an argument in the middle of the argument list, wrap it in quotes like so:

sh_kick "Name with spaces" Reason here.

If you need to include quotes in the value, escape them with a \ before the quote:

sh_kick "Name \"with quotes\"" Reason here.

Targeting yourself

If you have a strange name or part (or all) of it is shared with another player, it can often be annoying to try and apply a command to yourself. Shine allows you to target yourself with ^.

For example,

sh_forcerandom ^

would put you onto a random team.

Targeting a specific NS2/Steam ID

The default targeting will look through NS2/Steam ID, game ID and name to target (in that order). If you want to be sure of who you are targeting, you can use $<ID> to target a specific Steam/NS2 ID.

For example,

sh_forcerandom $123456

would put the player with NS2 ID 123456 onto a random team.

Targeting a specific game ID

As an alternative to targeting by Steam ID, you can also use #<ID> to target a specific game ID.

For example,

sh_forcerandom #12

would put the player with game ID 12 onto a random team.

Teams

For commands that require you to specify a team, just use 'alien' or 'marine' or any variation of them (as long as it's a single word). Shine will sort out the team number stuff for you so you don't have to know that Aliens are team 2 and Marines are team 1.

For example,

sh_setteam bob alien

would move bob over to the alien team.

Valid team matches are:

  • rr or ready - Ready room (team 0).
  • marine or blue - Marine team (team 1).
  • alien or orange or gold - Alien team (team 2).
  • spectator or spectate - Spectator team (team 3).

Selecting multiple players

For some commands, you can pass multiple players to the command and Shine will apply the action to all of them at once. For instance, if you type comma separated names or Steam IDs, Shine will attempt to find each player you give and for any it finds, will apply the command.

For example,

sh_rr bob,joe,123456,^

would move bob, joe, the player with Steam ID 123456 and yourself to the ready room.

Selecting entire teams

It doesn't stop at multiple player names though. Shine lets you target an entire team at once with @alien or @marine. You can also select all ready room players with @readyroom or @rr for short, and all spectators with @spectate.

For example,

sh_forcerandom @readyroom

will force everyone in the ready room to a random team.

Selecting entire user groups

You can select everyone in a certain user group with %groupname. To select all those who aren't in a set user group, use %guest.

For example,

sh_forcerandom %guest

will force every user without a set user group onto a random team.

Selecting multiple teams

You can even select multiple teams. As with selecting multiple individuals, just separate the values with commas.

For example,

sh_forcerandom @readyroom,@spectate

will force everyone in the ready room and everyone in spectate onto a random team.

Selecting everyone

Finally, if you really want to, you can select the entire server population at once. This is done with *.

For example,

sh_forcerandom *

will force everyone on the server into a random team.

Negating a target

If you wish to select all players except a given player/group, or you wish to trim a target group down, you can add '!' before your target directive. This will remove the given target from the target list. For example,

sh_forcerandom !^

will force everyone except you onto a random team. You could also do something like:

sh_rr @alien,!^

which would force the entire alien team except yourself into the ready room.

Time values

For commands that take a time value, you can either specify a raw time value as a number, or you can use an easier expression form.

For example, take the sh_ban command. It has the arguments <player> <duration> <reason>. For the duration value, you can either give it a number in minutes, or you can use a short form expression like:

  • 1w -> Evaluates to 1 week.
  • 2h5m -> Evaluates to 2 hours and 5 minutes.
  • 3d4h -> Evaluates to 3 days and 4 hours.

Supported short form time values are:

  • w - weeks
  • d - days
  • h - hours
  • m - minutes
  • s - seconds

You can also use full sentence time values such as:

  • "1 week"
  • "2 hours and 5 minutes"
  • "3 days and 4 hours"

If you're feeling really maths-y, then you can even put negative values in your time expression to subtract from the other values. For example:

  • "1 week -1 day" -> 6 days.
  • 2h-30m - 1 hour and 30 minutes.

This should make expressing time much easier.