Skip to content

Commit

Permalink
Add documentation for custom votes, rtv & chat replay (#37)
Browse files Browse the repository at this point in the history
  • Loading branch information
Aciz authored Dec 7, 2024
1 parent 3630b46 commit 291db51
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 1 deletion.
70 changes: 70 additions & 0 deletions docs/basic_features.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,16 @@ THe full list of customization available is the following.
* [`etj_highlightSound`](client/etjump_cvars.md/#etj_highlightsound)
* [`etj_highlightText`](client/etjump_cvars.md/#etj_highlighttext)

### Chat replay
ETJump has a chat replay system, which replays the latest global chat messages to clients when they connect to a server, perform a `vid_restart` or when the map is changed. Messages sent prior to your initial connection to server are time-limited by default for privacy reasons - this is controllable by server admins with [`g_chatReplayMaxMessageAge`](server/server_cvars.md/#g_chatreplaymaxmessageage) cvar, which defaults to 5 minutes. Any messages that are sent after your session has started are always replayed to you.

![chat replay example](img/chat_replay_example.png)

```{tip}
* You can turn off the replay on client side with [`etj_chatReplay`](client/etjump_cvars.md/#etj_chatreplay) cvar. This means you won't see chat replays, but it does not prevent your messages in appearing in the replays sent to other players.
* Server owners can also turn off chat replay entirely on the server with [`g_chatReplay`](server/server_cvars.md/#g_chatreplay) cvar.
```

---

## Private messages
Expand Down Expand Up @@ -194,3 +204,63 @@ To ease the portalgun usage, you can use [`etj_autoPortalBinds`](client/etjump_c
```{note}
Depending on the map and server settings, portalgun might be disabled, as it's quite exploitable on a lot of maps.
```

---

## Custom votes
ETJump offers a per-server custom vote system, which allows server owners and priviledged admins to add, edit and delete lists with specific maps on them. These lists can be voted by players via the in-game menu, or via console using `callvote <randommap|rtv> <name>` command.

It's possible to vote for a random map from a list, or call a [Rock The Vote](#rock-the-vote) with only maps from the specified list.

### Setting up custom votes
Custom vote lists are defined in a file defined by [`g_customMapVotesFile`](server/server_cvars.md/#g_custommapvotesfile). An example file can be generated by running [`generateCustomvotes`](server/server_commands.md/#generatecustomvotes) command on the server. The custom vote file is a JSON file with the following format:

```json
[
{
"name" : "list1",
"callvote_text" : "My List 1",
"maps" : [ "map1", "map2", "map3" ]
},
{
"name" : "list2",
"callvote_text" : "My List 2",
"maps" : [ "map1", "map2", "map3" ]
}
]
```

If editing the custom vote lists manually, it is necessary to either change map, or use [`readCustomvotes`](server/server_commands.md/#readcustomvotes) command on the server to apply the changes. Editing the lists via admin commands automatically reloads the lists.

```{note}
Custom votes perform no validation on the map names, it is up to the server owners/admins to ensure the map names are correct. Any maps that are not on the server will be ignored in the voting.
```

```{seealso}
* [`!add-customvote`](server/admin_system.md/#add-customvote)
* [`!delete-customvote`](server/admin_system.md/#delete-customvote)
* [`!edit-customvote`](server/admin_system.md/#edit-customvote)
```

---

## Rock The Vote
Players can initiate a Rock The Vote (RTV) on a server, to select a random set of maps to be voted for as the next map. RTV can be called via the in-game menu, or with `callvote rtv` command. When RTV is called, players can open the list of votable maps by pressing `vote yes` binding, and pick a map to vote for from the opened list.

![rtv menu](img/rtv_menu.png)

After the vote has concluded, the map with the most votes will be picked. If two or more maps end up with the same amount of votes, the winner is chosen randomly from those maps.

```{tip}
* RTV can be disabled on the server with [`vote_allowRtv`](server/server_cvars.md/#vote_allow_rtv) cvar.
* The number of maps to pick from can be changed on the server with [`g_rtvMaxMaps`](server/server_cvars.md/#g_rtvmaxmaps) cvar.
* RTV minimum vote time is separate from regular votes, and can be configured with [`vote_minRtvDuration`](server/server_cvars.md/#vote_minrtvduration) cvar.
```

### Auto RTV
It's possible to configure RTV to be automatically called by the server at specific intervals. If [`g_autoRtv`](server/server_cvars.md/#g_autortv) is set, the server will automatically call RTV when a map has been running for the specified time. Players can call a vote to adjust the interval, or to turn the feature off completely.

```{tip}
* Auto RTV interval does not progress if the server is empty or nobody is playing. Only after a player joins a team for the first time during a map, the timer starts progressing, and keeps going until the interval is reached.
* Auto RTV interval voting can be turned off with [`vote_allowAutoRtv`](server/server_cvars.md/#vote_allow_autortv), leaving the setting to be configured only by the server owners.
```
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
project = 'ETJump'
copyright = f'{date.today().year}, ETJump Team'
author = 'ETJump Team'
release = '3.3.0'
release = '3.3.1'

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
Expand Down
Binary file added docs/img/chat_replay_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/rtv_menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 291db51

Please sign in to comment.