From: AeonLucid Date: Sun, 25 Oct 2020 06:02:37 +0000 (+0100) Subject: Update documentation and Impostor version X-Git-Tag: v1.2.2~86 X-Git-Url: https://git.deb.at/?a=commitdiff_plain;h=37a3a56f9bdc5c0a1bd2afda9bafab3d3c99fa31;p=rhonda%2Fimpostor.git Update documentation and Impostor version --- diff --git a/README.md b/README.md index ce8dd62..79bb385 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,25 @@ # Impostor -Impostor is one of the first **Among Us** private servers, written in C#. +[![Discord](https://img.shields.io/badge/Discord-chat-blue?style=flat-square)](https://discord.gg/Mk3w6Tb) +[![AppVeyor](https://img.shields.io/appveyor/build/Impostor/Impostor/dev?style=flat-square)](https://ci.appveyor.com/project/Impostor/Impostor/branch/dev) -The latest version supported is `2020.9.22`, both desktop and mobile. +Impostor is one of the first **Among Us** private servers, written in C#. + +We support steam, itch, android and iOS. The latest version supported is `2020.9.22`, the `dev` build currently supports `2020.10.22`. + +| Impostor version | Among Us version | Experimental | Download | +|-|-|-|-| +| 1.1.0 | 2020.09.07 - 2020.09.22 | No | [![Download](https://img.shields.io/badge/Download-v1.1.0-blue?style=flat-square)](https://github.com/Impostor/Impostor/releases/tag/v1.1.0) | +| 1.2.0 | 2020.09.22 - 2020.10.22 | Yes | [![Download](https://img.shields.io/badge/Download-v1.2.0-blue?style=flat-square)](https://ci.appveyor.com/project/Impostor/Impostor/branch/dev/artifacts) | There are no special features at this moment, the goal is aiming to be as close as possible to the real server, for now. In a later stage, making modifications to game logic by modifying `GameData` packets can be looked at. -[Discord server for Impostor](https://discord.gg/Mk3w6Tb) + ## Features -All Among Us features are implemented. It is a full replacement for the official server. - -- [x] Create game -- [x] Join game -- [x] Start game -- [x] Game listing -- [x] V1 GameCodes (AAAA) -- [x] V2 GameCodes (AAAAAA) -- [x] Kick player -- [x] Ban player -- [x] Server redirection -- [ ] Multiple master servers +- All Among Us features are implemented. It is a full replacement for the official server. +- Plugin support. ## Installation diff --git a/appveyor.yml b/appveyor.yml index 81c386c..9eb1910 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,7 +1,7 @@ version: '{build}' environment: - IMPOSTOR_VERSION: '1.1.0' + IMPOSTOR_VERSION: '1.2.0' DOTNET_CLI_TELEMETRY_OPTOUT: 1 branches: diff --git a/docs/README.md b/docs/README.md index d42c067..e32ff8c 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,5 +2,6 @@ 1. [Running the server](Running-the-server.md) 2. [Server configuration](Server-configuration.md) -3. [Building-from-source](Building-from-source.md) -4. [Frequently answered questions](FAQ.md) \ No newline at end of file +3. [Building from source](Building-from-source.md) +4. [Writing a plugin](Writing-a-plugin.md) +5. [Frequently answered questions](FAQ.md) \ No newline at end of file diff --git a/docs/Writing-a-plugin.md b/docs/Writing-a-plugin.md index b3fec73..5e52171 100644 --- a/docs/Writing-a-plugin.md +++ b/docs/Writing-a-plugin.md @@ -232,6 +232,31 @@ Some extra information that might be useful for those developing plugins. - `IOptions` - You can add your own classes and `EventListener` implementation to the `IServiceProvider` by creating a new class and implementing `IPluginStartup`. Make sure to register them as a singleton `services.AddSingleton();`. +### Server configuration + +Constantly copying the plugin dll to your server directory can be pretty annoying. Luckily we have a solution for that. In your Impostor server open the `config.json` and add the `PluginLoader` from the example below, replace the path with the build destination of your plugin. + +```json +{ + "Server": { + "PublicIp": "127.0.0.1", + "PublicPort": 22023, + "ListenIp": "0.0.0.0", + "ListenPort": 22023 + }, + "PluginLoader": { + "Paths": [ + "D:\\Projects\\Impostor\\src\\Impostor.Plugins.Example\\bin\\Debug\\netstandard2.1" + ], + "Libraries": [] + } +} +``` + +### Using other libraries + +Sometimes you need to use libraries that the original Impostor server does not provide. The dll files of these libraries must be placed in the `libraries` folder next to the server executable. You could also provide them by modifying the `PluginLoader.Libraries` option in the `config.json`, similarly to the `PluginLoader.Paths` option. + ## 8. Missing/invalid data or want more functions? The `Impostor.Api` is currently in beta. There are a lot of things still missing and we would like to hear from you what you need to develop a plugin. diff --git a/docs/images/logo_458.png b/docs/images/logo_458.png new file mode 100644 index 0000000..173f648 Binary files /dev/null and b/docs/images/logo_458.png differ diff --git a/docs/images/logo_64.png b/docs/images/logo_64.png new file mode 100644 index 0000000..74c0721 Binary files /dev/null and b/docs/images/logo_64.png differ diff --git a/src/.editorconfig b/src/.editorconfig index 33d5cf9..3e16c22 100644 --- a/src/.editorconfig +++ b/src/.editorconfig @@ -127,6 +127,20 @@ dotnet_naming_symbols.all_members.applicable_kinds = * dotnet_naming_style.pascal_case_style.capitalization = pascal_case +# Async methods should have "Async" suffix +dotnet_naming_rule.async_methods_end_in_async.symbols = any_async_methods +dotnet_naming_rule.async_methods_end_in_async.style = end_in_async +dotnet_naming_rule.async_methods_end_in_async.severity = warning + +dotnet_naming_symbols.any_async_methods.applicable_kinds = method +dotnet_naming_symbols.any_async_methods.applicable_accessibilities = * +dotnet_naming_symbols.any_async_methods.required_modifiers = async + +dotnet_naming_style.end_in_async.required_prefix = +dotnet_naming_style.end_in_async.required_suffix = Async +dotnet_naming_style.end_in_async.capitalization = pascal_case +dotnet_naming_style.end_in_async.word_separator = + # error RS2008: Enable analyzer release tracking for the analyzer project containing rule '{0}' dotnet_diagnostic.RS2008.severity = none diff --git a/src/Impostor.Api/Impostor.Api.csproj b/src/Impostor.Api/Impostor.Api.csproj index 9ad0292..d0a90e0 100644 --- a/src/Impostor.Api/Impostor.Api.csproj +++ b/src/Impostor.Api/Impostor.Api.csproj @@ -1,28 +1,38 @@ - - netstandard2.0 - ProjectRules.ruleset - 9 - true - enable - 1.0.0 - true - snupkg - + + netstandard2.0 + ProjectRules.ruleset + 9 + true + enable + 1.0.0 + true + snupkg + Impostor.Api + Impostor.Api + AeonLucid + An api library for Impostor, an Among Us private server. You need this package to write plugins for Impostor. + Impostor.Api + Among Us;Impostor;Impostor Plugin + https://raw.githubusercontent.com/Impostor/Impostor/dev/docs/images/logo_64.png + https://github.com/Impostor/Impostor + git + https://github.com/Impostor/Impostor + - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + \ No newline at end of file