Skip to content

Commit

Permalink
Merge pull request #161 from Chrezm/4.3.5-dev
Browse files Browse the repository at this point in the history
4.3.5
  • Loading branch information
Chrezm authored Sep 12, 2022
2 parents 5732ad0 + 56b20e0 commit 7a5f929
Show file tree
Hide file tree
Showing 28 changed files with 2,014 additions and 425 deletions.
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -800,3 +800,20 @@
### 220831a (4.3.4-post2)
* Fixed clients sending legitimate split packets being abnormally disconnected
* Fixed character list reloads crashing when someone is in server select

### 220912a (4.3.5)
* Added client version and server version consistently to printed server error messages
* Added support for loading custom background lists without changing `config/backgrounds.yaml` via the `config/background_lists` folder and commands
- /bg_list
- /bg_list_info
* Added support for loading custom character lists without changing `config/characters.yaml` via the `config/character_lists` folder and commands
- /char_list
- /char_list_info
* Updated wording of /area_list and /music_list so that it matches the wording of /bg_list and /char_list on success or failure
* Added /area_list_info and /music_list_info, which returns the name of the current area list and music list respectively
* Added support for changing backgrounds in an area associated with periods via commands
- /bg_period
- /bg_period_end
* Changed console message indicating server address and port to reflect DRO no longer using the old syntax
* Fixed /lasterror providing duplicate error information
* Fixed /clock_period erroring out if a non-numerical invalid hour start or hour length was given.
48 changes: 33 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,22 +52,22 @@ It is highly recommended you read through all the installation steps first befor
* If everything was set up correctly, you will see something like this appear:

```
[2022-08-21T10:20:20]: Starting...
[2022-08-21T10:20:20]: Launching TsuserverDR 4.3.4 (220821a)...
[2022-08-21T10:20:20]: Loading server configurations...
[2022-08-21T10:20:20]: Server configurations loaded successfully!
[2022-08-21T10:20:20]: Starting a nonlocal server...
[2022-08-21T10:20:20]: Server started successfully!
[2022-08-21T10:20:21]: Server should be now accessible from 192.0.2.0:50000:My First DR Server
[2022-09-12T10:20:20]: Starting...
[2022-09-12T10:20:20]: Launching TsuserverDR 4.3.5 (220912a)...
[2022-09-12T10:20:20]: Loading server configurations...
[2022-09-12T10:20:20]: Server configurations loaded successfully!
[2022-09-12T10:20:20]: Starting a nonlocal server...
[2022-09-12T10:20:20]: Server started successfully!
[2022-09-12T10:20:21]: Server should be now accessible from address 192.0.2.0 and port 50000.
```

* If you are listing your server in the Attorney Online master server, make sure its details are set up correctly. In particular, make sure that your server name and description are correct, as that is how players will find your server. If everything was set up correctly, you will see something like this appear:

```
[2022-08-21T10:20:21]: Attempting to connect to the master server at https://servers.aceattorneyonline.com/servers with the following details:
[2022-08-21T10:20:21]: *Server name: My First DR Server
[2022-08-21T10:20:21]: *Server description: This is my flashy new DR server
[2022-08-21T10:20:22]: Connected to the master server.
[2022-09-12T10:20:21]: Attempting to connect to the master server at https://servers.aceattorneyonline.com/servers with the following details:
[2022-09-12T10:20:21]: *Server name: My First DR Server
[2022-09-12T10:20:21]: *Server description: This is my flashy new DR server
[2022-09-12T10:20:22]: Connected to the master server.
```

- The server will make a single ping to [ipify](https://api.ipify.org) in order to obtain its public IP address. If it fails to do that, it will let you know that, as it means there is probably something wrong with your internet connection and that other players may not be able to connect to your server.
Expand All @@ -76,9 +76,9 @@ It is highly recommended you read through all the installation steps first befor
* To stop the server, press Ctrl+C once from your terminal. This will initiate a shutdown sequence and notify you when it is done. If the shutdown finished successfully, you will see something like this appear:

```
[2022-08-21T22:23:04]: You have initiated a server shut down.
[2022-08-21T22:23:04]: Kicking 12 remaining clients.
[2022-08-21T22:23:04]: Server has successfully shut down.
[2022-09-12T22:23:04]: You have initiated a server shut down.
[2022-09-12T22:23:04]: Kicking 12 remaining clients.
[2022-09-12T22:23:04]: Server has successfully shut down.
```

* If you do not see anything after a few seconds of starting a shutdown, you can try spamming Ctrl+C to try and force a shutdown or directly close out your terminal. This is not recommended due to the cleanup process not finishing correctly but it is doable.
Expand Down Expand Up @@ -186,6 +186,8 @@ Additional notes are listed at the end of the command list. Unless otherwise spe
- Returns the server's Message of the Day.
* **music_list** "music list name"
- Sets your music list to the given one, or restores the original one if not given any.
* **music_list_info**
- Returns your current music list.
* **music_lists**
- Lists all available music lists as established in `config/music_lists.yaml`.
* **notecard** "content"
Expand Down Expand Up @@ -355,6 +357,10 @@ GMs can:
- Sets the current area to have bloodtrails leading to the listed areas. If no areas are given, the area is set to have an unconnected pool of blood.
* **bloodtrail_smear** "area 1", "area 2", ...
- Smears the blood trails in the given areas (or the current one if not given any areas).
* **bg_period** "period name" "bg name"
- Sets the special background to be displayed in the area whenever there is a clock in the area with the given period.
* **bg_period_end** "period name"
- Removes the special background to be displayed in the area whenever there is a clock in the area with the given period, so that it instead displays the normal background of the area.
* **can_passagelock**
- Changes the current area's setting to allow non-staff members to change passages starting in the area with /bilock or /unilock. By default area setting is indicated in the server's area list.
* **can_rollp**
Expand Down Expand Up @@ -668,13 +674,25 @@ GMs can:
- If not given a target area, it will use the server's default area (usually area 0).
* **area_list** "area list"
- Sets the server's current area list.
- If not given an area list, it will restore the original area list as it was on server bootup.
- If not given an area list, it will use the default file `config/areas.yaml`.
* **area_list_info**
- Returns the server's current area list.
* **area_lists**
- Lists all available area lists as established in `config/area_lists.yaml`.
* **bg_list** "list"
- Sets the server's current background list.
- If not given a background list, it will use the default file `config/backgrounds.yaml`.
* **bg_list_info**
- Returns the server's current background list.
* **blockdj** "ID/IPID"
- Mutes the target from changing music.
* **charlog** "ID/IPID"
- Lists all character changes (including iniswaps and character name changes) a target has gone through since connecting, including the time they were changed.
* **char_list** "list"
- Sets the server's current character list.
- If not given a character list, it will use the default file `config/characters.yaml`.
* **char_list_info**
- Returns the server's current character list.
* **cleargm** "ID"
- Logs out the target from their GM rank, or all GMs in the server if not given a target, and puts them in RP mode if needed.
* **g** "message"
Expand Down
34 changes: 18 additions & 16 deletions config_sample/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,30 @@
## Before you get started...
With your copy of this software, you should check that you have the following files in `\config_sample\`:

* `config.yaml`
* `area_lists.yaml`
* `area_templates.yaml`
* `areas.yaml`
* `backgrounds.yaml`
* `config.yaml`
* `area_lists.yaml`
* `area_templates.yaml`
* `areas.yaml`
* `backgrounds.yaml`
* `gimp.yaml`
* `iniswaps.yaml`
* `music.yaml`
* `music_lists.yaml`
* `iniswaps.yaml`
* `music.yaml`
* `music_lists.yaml`

As well as two folders:
As well as these folders:

* `area_lists`
* `music_lists`
* `area_lists`
* `background_lists`
* `character_lists`
* `music_lists`

Make sure you have all of the above inside this folder (otherwise, the server may hang or crash while starting).

In order to customize your server, you would be modifying the files in this configuration folder. You should be able to edit these files with any text editor, including Notepad, Notepad++, Nano, Vim, etc.
In order to customize your server, you would be modifying the files in this configuration folder. You should be able to edit these files with any text editor, including Notepad, Notepad++, Nano, Vim, etc.

### YAML

* The configuration files follow YAML syntax. YAML is a human-readable markup language, so you should be able to pick up the syntax rather quickly. However, if you feel like a short tutorial could come handy, the guide from [Rollout](https://rollout.io/blog/yaml-tutorial-everything-you-need-get-started/) is a great starting point. You can also use external YAML linters such as the one [here](https://codebeautify.org/yaml-validator) in order to check if your YAML syntax is valid.
* The configuration files follow YAML syntax. YAML is a human-readable markup language, so you should be able to pick up the syntax rather quickly. However, if you feel like a short tutorial could come handy, the guide from [Rollout](https://rollout.io/blog/yaml-tutorial-everything-you-need-get-started/) is a great starting point. You can also use external YAML linters such as the one [here](https://codebeautify.org/yaml-validator) in order to check if your YAML syntax is valid.
* By convention, TsuserverDR uses two spaces to indent (not tabulations).
* **As long as some configuration files have invalid YAML syntax or attributes TsuserverDR does not like, your server will very likely not start.** The server will try its best to let you know what is wrong, but this is not guaranteed.

Expand All @@ -36,7 +38,7 @@ Each file contains an example configuration. Further instructions should be loca
- Contains server configuration attributes such as server name, player limit, the port it should use to listen to connections, whether it should be advertised in the AO master server list, etc.

* **area_lists.yaml**
- Lists the area lists the server supports.
- Lists the area lists the server supports.
- This is the list that is returned when moderators use `/area_lists`. No validation is performed to check if some area list is in this list of area lists.

* **area_templates.yaml**
Expand All @@ -45,14 +47,14 @@ Each file contains an example configuration. Further instructions should be loca
* **areas.yaml**
- Contains the default server area list.
- This is the area list that is loaded when the server starts, as well as the area list the server falls back to when moderators use `/area_list` on its own.

* **backgrounds.yaml**
- Lists the background names the server supports.
- This is the list that is used to validate attempts from regular players to change the background with `/bg`.

* **gimp.yaml**
- Lists a pool of messages. If a player is gimped, their messages will be replaced with a randomly chosen message from this list.

* **iniswaps.yaml**
- Lists the allowed iniswapping combinations.
- This is the list the server uses to check in areas that prevent iniswapping to check if they should allow a particular iniswap to exist.
Expand Down
Empty file.
Empty file.
Empty file.
Empty file.
Loading

0 comments on commit 7a5f929

Please sign in to comment.