]> git.deb.at Git - rhonda/impostor.git/commitdiff
Update documentation and Impostor version
authorAeonLucid <aeonlucid@outlook.com>
Sun, 25 Oct 2020 06:02:37 +0000 (07:02 +0100)
committerAeonLucid <aeonlucid@outlook.com>
Sun, 25 Oct 2020 06:02:37 +0000 (07:02 +0100)
README.md
appveyor.yml
docs/README.md
docs/Writing-a-plugin.md
docs/images/logo_458.png [new file with mode: 0644]
docs/images/logo_64.png [new file with mode: 0644]
src/.editorconfig
src/Impostor.Api/Impostor.Api.csproj

index ce8dd6251235ab1b0efa7d1d47ae6bdae281a2eb..79bb38590ccb05ffa35fce2770186a8a0a736b8a 100644 (file)
--- 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
 
index 81c386c42cfb59628c89c338b6070c11af8177e6..9eb191090d6ecc615095146ef120bf142d4acb58 100644 (file)
@@ -1,7 +1,7 @@
 version: '{build}'
 
 environment:
-  IMPOSTOR_VERSION: '1.1.0'
+  IMPOSTOR_VERSION: '1.2.0'
   DOTNET_CLI_TELEMETRY_OPTOUT: 1
 
 branches:
index d42c067e5024db633b75872b11968207b50b1d7d..e32ff8c6c02507d50cdb500f3934b5cd489187ac 100644 (file)
@@ -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
index b3fec73b01b72813b1cf78e260f7d42a73583097..5e521712a2482c28c1ff70b7131ad89f5dc8fffa 100644 (file)
@@ -232,6 +232,31 @@ Some extra information that might be useful for those developing plugins.
   - `IOptions<ServerRedirectorConfig>`
 - 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<IEventListener, GameEventListener>();`.
 
+### 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 (file)
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 (file)
index 0000000..74c0721
Binary files /dev/null and b/docs/images/logo_64.png differ
index 33d5cf9aeaceefa6bc25434030917f2eb4647241..3e16c22566fa8483b221b189e0679e7c94fafb71 100644 (file)
@@ -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
 
index 9ad02926e19d8669b7cd7f158815dbb7b2656c00..d0a90e0c6660a039be647acbfe7a39023da253d2 100644 (file)
@@ -1,28 +1,38 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
-    <PropertyGroup>
-        <TargetFramework>netstandard2.0</TargetFramework>
-        <CodeAnalysisRuleSet>ProjectRules.ruleset</CodeAnalysisRuleSet>
-        <LangVersion>9</LangVersion>
-        <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-        <Nullable>enable</Nullable>
-        <Version>1.0.0</Version>
-        <IncludeSymbols>true</IncludeSymbols>
-        <SymbolPackageFormat>snupkg</SymbolPackageFormat>
-    </PropertyGroup>
+  <PropertyGroup>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <CodeAnalysisRuleSet>ProjectRules.ruleset</CodeAnalysisRuleSet>
+    <LangVersion>9</LangVersion>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <Nullable>enable</Nullable>
+    <Version>1.0.0</Version>
+    <IncludeSymbols>true</IncludeSymbols>
+    <SymbolPackageFormat>snupkg</SymbolPackageFormat>
+    <AssemblyName>Impostor.Api</AssemblyName>
+    <AssemblyTitle>Impostor.Api</AssemblyTitle>
+    <Authors>AeonLucid</Authors>
+    <Description>An api library for Impostor, an Among Us private server. You need this package to write plugins for Impostor.</Description>
+    <PackageId>Impostor.Api</PackageId>
+    <PackageTags>Among Us;Impostor;Impostor Plugin</PackageTags>
+    <PackageIconUrl>https://raw.githubusercontent.com/Impostor/Impostor/dev/docs/images/logo_64.png</PackageIconUrl>
+    <PackageProjectUrl>https://github.com/Impostor/Impostor</PackageProjectUrl>
+    <RepositoryType>git</RepositoryType>
+    <RepositoryUrl>https://github.com/Impostor/Impostor</RepositoryUrl>
+  </PropertyGroup>
 
-    <ItemGroup>
-        <PackageReference Include="Microsoft.Bcl.HashCode" Version="1.1.0" />
-        <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0-rc.1.20451.14" />
-        <PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0-rc.1.20451.14" />
-        <PackageReference Include="Nullable" Version="1.3.0">
-            <PrivateAssets>all</PrivateAssets>
-            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
-        </PackageReference>
-        <PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
-            <PrivateAssets>all</PrivateAssets>
-            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
-        </PackageReference>
-    </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="Microsoft.Bcl.HashCode" Version="1.1.0"/>
+    <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0-rc.1.20451.14"/>
+    <PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0-rc.1.20451.14"/>
+    <PackageReference Include="Nullable" Version="1.3.0">
+      <PrivateAssets>all</PrivateAssets>
+      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
+    </PackageReference>
+    <PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
+      <PrivateAssets>all</PrivateAssets>
+      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
+    </PackageReference>
+  </ItemGroup>
 
 </Project>
\ No newline at end of file