|
1 | | -# ARK Survival Evolved Discord Bot / Web App / Web API |
| 1 | +# ARK Survival Evolved Companion App / Discord Bot |
2 | 2 |
|
3 | 3 |  |
4 | 4 |
|
5 | 5 |  |
6 | 6 |
|
7 | | -## NOTE |
8 | | - |
9 | | -### This application is in the very early stages of development. |
10 | | - |
11 | | -There are bugs, unfinished/missing features, unoptimized/crappy code, lack of testing and documentation. |
12 | | - |
13 | | - |
14 | 7 | ## Introduction |
15 | 8 |
|
16 | | -The application monitors and extracts data from any number of configured local ARK servers and exposes this data through a Discord Bot and Web API. |
| 9 | +An in-game companion app for players and Discord bot for server administrators. |
| 10 | + |
| 11 | +The application monitors and extracts data from any number of configured local ARK servers and exposes this data through a Web App, Web API and Discord Bot. |
17 | 12 |
|
18 | | -It aims to provide important functions to players: dino listings, food-status, statistics; and server admins: rcon-commands, server managing etc. It does not enable cheating or making available data that have a considerable impact on how the game is played. |
| 13 | +It aims to provide important functions to players: dino listings, food-status, breeding info, statistics; and server admins: rcon-commands, server managing etc. It does not enable cheating or making available data that have a considerable impact on how the game is played. |
19 | 14 |
|
20 | 15 | Previously the application utilized a modified version of https://github.com/Qowyn/ark-tools to extract data from savegame-files. It has since been replaced by a faster and more configurable .NET-library developed in conjunction with this application based on Qowyns work on ark-tools. |
21 | 16 |
|
22 | 17 | The application also utilizes creature stat data sourced from Cadons excellent ARK Smart Breeding application (https://github.com/cadon/ARKStatsExtractor). |
23 | 18 |
|
24 | 19 | ## Latest release |
25 | | -Stable (currently not updated due to the extremely pre-release state of the application) |
| 20 | +### Stable |
26 | 21 |
|
27 | 22 | https://github.com/tsebring/ArkBot/releases |
28 | 23 |
|
29 | | -Pre-release built from latest sources (open as zip-archive, binaries under tools/) |
| 24 | +### Pre-release built from latest sources |
| 25 | +Open as zip-archive or change extension to .zip, binaries are located under tools/. |
30 | 26 |
|
31 | 27 | https://www.myget.org/F/tsebring/api/v2/package/ArkDiscordBot |
32 | 28 |
|
33 | | -## Configuration in config.json (copy defaultconfig.json template file) |
| 29 | +## Installation |
| 30 | +**For questions/problems: open a GitHub issue or contact me on Discord (Tobias#5051).** |
34 | 31 |
|
35 | | -### There are many fields that are not covered below and some information may not be up-to-date. Sticking to the defaultconfig.json setup with minimal changes according to your environment is the safest bet. Open a GitHub issue or contact me on Discord (Tobias#5051) if there are any problems. |
| 32 | +* Download the latest pre-built binaries (see above). |
| 33 | +* Copy defaultconfig.json and name it config.json. |
| 34 | +* Open config.json in a text editor and go through each setting and change according to your environment (settings are documented below). |
| 35 | + |
| 36 | +## Documentation |
36 | 37 |
|
37 | 38 | **All config settings have descriptions that can be found in:** |
38 | 39 | https://github.com/tsebring/ArkBot/blob/master/ArkBot/Config.cs. |
@@ -102,31 +103,39 @@ The absolute path of a savegame-file (.ark) to watch for changes and extract dat |
102 | 103 |
|
103 | 104 | The absolute path of the directory where cluster-files are stored. Cluster-files are extracted as part of the server update process triggered by savegame-file (.ark) to watchers. |
104 | 105 |
|
| 106 | +## Web App |
| 107 | + |
| 108 | +n in-game companion app built on top of the Web API and implemented in Angular (https://angular.io/). |
| 109 | + |
| 110 | +Features server status, server details, online player listing, per server player-/tribe listings, individual player profile with character- and creature information, including food-status, mating cooldowns, baby age and cuddle timers, breeding info, generator status, crop status, tribe logs and more. |
| 111 | + |
| 112 | +Url: `webAppListenPrefix` |
| 113 | +Admin url: `webAppListenPrefix`/admin/`serverKey` |
105 | 114 |
|
106 | 115 | ## Web API |
107 | 116 |
|
108 | 117 | RESTful API for accessing exported ARK Server save data via HTTP in JSON- or XML-format. A SignalR hub push server update notifications to connected clients in real-time. |
109 | 118 |
|
110 | | -The prebuilt web-app included in this release is by default configured to call the web api on 127.0.0.1:60001. If you want to use another port for the web api you will need to reflect this change in environment.prod.ts and rebuild the web-app dist manually. |
| 119 | +The prebuilt web-app included in this release is by default configured to call the web api on 127.0.0.1:60001. If you want to use another port for the web api you will need to reflect this change in environment.prod.ts and rebuild the web-app dist manually using `ng build --prod --bh /`. |
111 | 120 |
|
112 | 121 | ### Endpoints (base path is configured in `webApiListenPrefix`) |
113 | 122 |
|
114 | | -/api/map/`mapName`: ARK topographic maps for (TheIsland, TheCenter and ScorchedEarth_P) sourced from ARK Survival Evolved Wiki (http://ark.gamepedia.com). |
| 123 | +/api/map/`mapName`: ARK topographic maps for (TheIsland, TheCenter, ScorchedEarth_P and Ragnarok) sourced from ARK Survival Evolved Wiki (http://ark.gamepedia.com). |
115 | 124 |
|
116 | 125 | /api/player/`steamId`: Player data for player identified by `steamId` from each configured server instance. |
117 | 126 |
|
118 | 127 | /api/server/`serverKey`: Player and tribe listing from each configured server instance. |
119 | 128 |
|
120 | | -/api/adminserver/`serverKey`: Player and tribe listingwith additional creature and structure counts from each configured server instance. |
| 129 | +/api/adminserver/`serverKey`: Player and tribe listing with additional creature and structure counts from each configured server instance. |
121 | 130 |
|
122 | | -/api/servers: Server status information including active players and statistics for each configured server instance. |
| 131 | +/api/structures/`serverKey`: Clustered structure data used to show the location of tribes/structures in the ARK. |
123 | 132 |
|
124 | | -/signalr/ (hub name `ServerUpdateHub`): Server update notifications using SignalR. |
| 133 | +With [ARK-Server-Beyond-API](https://github.com/tsebring/ARK-Server-Beyond-API) and [ImprovedCommands](https://github.com/tsebring/ImprovedCommands) administrators may remotely destroy and clean-up old structures and tamed creatures in the ARK. |
125 | 134 |
|
126 | | -## Web-app (under development) |
| 135 | +/api/servers: User-, access control- and server status information including active players and statistics for each configured server instance. |
127 | 136 |
|
128 | | -A web application built on top of the Web API and implemented in Angular (https://angular.io/). |
| 137 | +/api/administer/`...`: Rcon and other commands exposed through the web app. |
129 | 138 |
|
130 | | -Features server status, online player listing, per server player-/tribe listings, individual player profile with character- and creature information with food-status, mating cooldowns, baby age and cuddle timers. |
| 139 | +/api/authentication/`...`: Authenticate players using Steam. |
131 | 140 |
|
132 | | -Url: `webAppListenPrefix`/servers |
| 141 | +/signalr/ (hub name `ServerUpdateHub`): Server update notifications using SignalR. |
0 commit comments