]> git.deb.at Git - rhonda/impostor.git/log
rhonda/impostor.git
4 years agoUpdate appveyor.yml v1.7.0
js6pak [Sat, 11 Jun 2022 15:41:48 +0000 (15:41 +0000)]
Update appveyor.yml

crappveyor

4 years agoRemove Auth- and AnnouncementsServer sections (#484)
miniduikboot [Fri, 3 Jun 2022 18:58:00 +0000 (20:58 +0200)]
Remove Auth- and AnnouncementsServer sections (#484)

4 years agoRemove 75% of the question marks of PR #481 (#482)
miniduikboot [Fri, 3 Jun 2022 18:57:47 +0000 (20:57 +0200)]
Remove 75% of the question marks of PR #481 (#482)

4 years agoAdd Serilog.Settings.Configuration (#468)
js6pak [Fri, 3 Jun 2022 18:31:52 +0000 (20:31 +0200)]
Add Serilog.Settings.Configuration (#468)

* Add Serilog.Settings.Configuration

* Add docs section for logging

* Elaborate Serilog documentation

Co-authored-by: miniduikboot <mini@duikbo.at>
4 years agoMerge pull request #483 from js6pak/fix-disconnect-reason
js6pak [Fri, 3 Jun 2022 18:31:10 +0000 (20:31 +0200)]
Merge pull request #483 from js6pak/fix-disconnect-reason

Fix non custom disconnect reasons

4 years agoFix non custom disconnect reasons
js6pak [Fri, 3 Jun 2022 18:17:59 +0000 (20:17 +0200)]
Fix non custom disconnect reasons

4 years agoAllow adding custom tasks on standard maps (#481)
miniduikboot [Wed, 25 May 2022 17:53:32 +0000 (19:53 +0200)]
Allow adding custom tasks on standard maps (#481)

This is needed for mods that add tasks to standard maps, but also mods
that add custom maps: because their custom netobjects don't get
registered Impostor thinks people are still on the old map when people
switch to the custom map after playing a game.

4 years agoUpgrade to .NET 6 (#479)
miniduikboot [Wed, 25 May 2022 17:52:22 +0000 (19:52 +0200)]
Upgrade to .NET 6 (#479)

* Upgrade to .NET 6

.NET 5 has gone EOL, so move to a supported version.

* Upgrade Docker container as well
* Update docs for .NET 6
* Re-add hack for System.IO.Pipelines
* Bump dependency versions
* Update the deps of the other projects too
* Only declare TargetFramework once
* Dockerfile: also copy over Directory.Build.props
* Cake: pick up target framework automatically
* Upgrade Cake as well

4 years agoMerge pull request #474 from SubmergedAmongUs/master
miniduikboot [Wed, 20 Apr 2022 16:49:37 +0000 (18:49 +0200)]
Merge pull request #474 from SubmergedAmongUs/master

Add handling for null ShipStatus

4 years agoRemove null check for ShipStatus known to not be null
AlexejheroYTB [Wed, 20 Apr 2022 05:07:59 +0000 (08:07 +0300)]
Remove null check for ShipStatus known to not be null

4 years agoAdd handling for null ShipStatus
AlexejheroYTB [Sat, 16 Apr 2022 14:11:58 +0000 (17:11 +0300)]
Add handling for null ShipStatus

4 years agoMerge pull request #471 from Impostor/feature/2022.3.29
js6pak [Sat, 9 Apr 2022 12:42:51 +0000 (12:42 +0000)]
Merge pull request #471 from Impostor/feature/2022.3.29

4 years agoSimplify Message07JoinedGameS2CPre20220202
js6pak [Thu, 7 Apr 2022 14:58:33 +0000 (16:58 +0200)]
Simplify Message07JoinedGameS2CPre20220202

4 years agoMake GameOptionsData de/serialization less confusing
js6pak [Thu, 7 Apr 2022 09:58:16 +0000 (11:58 +0200)]
Make GameOptionsData de/serialization less confusing

4 years agoDo not add ProductUserId/Friendcode on <2.24
miniduikboot [Sat, 2 Apr 2022 08:41:37 +0000 (10:41 +0200)]
Do not add ProductUserId/Friendcode on <2.24

Because it is fine to add data to the end of messages the new fields
could be added to Message 1 just fine, but because Message 7 contains a
loop, we need to send a different message to old clients there.

4 years agofixup! Add empty ProductUserId and FriendCode to packets
miniduikboot [Thu, 31 Mar 2022 21:37:59 +0000 (23:37 +0200)]
fixup! Add empty ProductUserId and FriendCode to packets

4 years agoAdd empty ProductUserId and FriendCode to packets
miniduikboot [Thu, 31 Mar 2022 21:24:00 +0000 (23:24 +0200)]
Add empty ProductUserId and FriendCode to packets

They are not sent to the server and no clue how to retrieve them out of band.

4 years agoBarebones port
miniduikboot [Thu, 31 Mar 2022 19:47:11 +0000 (21:47 +0200)]
Barebones port

4 years agoMerge pull request #467 from miniduikboot/fix/race-dc-send-all-except
miniduikboot [Sat, 26 Mar 2022 09:35:54 +0000 (10:35 +0100)]
Merge pull request #467 from miniduikboot/fix/race-dc-send-all-except

Do not broadcast messages to disconnected clients

4 years agoDo not broadcast messages to disconnected clients
miniduikboot [Sun, 13 Mar 2022 17:44:32 +0000 (18:44 +0100)]
Do not broadcast messages to disconnected clients

This method is used when players have disconnected. If multiple players
disconnect at once, this method leads to exceptions.

4 years agoMerge pull request #464 from miniduikboot/fix/custom-dc-msg
miniduikboot [Mon, 28 Feb 2022 17:04:47 +0000 (18:04 +0100)]
Merge pull request #464 from miniduikboot/fix/custom-dc-msg

Fix/custom dc msg

4 years agoReword obsoletion message
miniduikboot [Sat, 26 Feb 2022 19:33:02 +0000 (20:33 +0100)]
Reword obsoletion message

4 years agoChange DisconnectAsync to use extension instead
miniduikboot [Sat, 26 Feb 2022 19:31:45 +0000 (20:31 +0100)]
Change DisconnectAsync to use extension instead

4 years agoTurn DisconnectConnection into an extension
miniduikboot [Sat, 26 Feb 2022 19:31:23 +0000 (20:31 +0100)]
Turn DisconnectConnection into an extension

4 years agoFixup 608414326ddcbe672b3fd5e71d95530707add6d7
miniduikboot [Wed, 16 Feb 2022 21:34:42 +0000 (22:34 +0100)]
Fixup 608414326ddcbe672b3fd5e71d95530707add6d7

Oops, I accidentally forgot to remove the previous line when adding the
file to my commit

4 years agoDeprecate JoinGame errors
miniduikboot [Wed, 16 Feb 2022 21:31:23 +0000 (22:31 +0100)]
Deprecate JoinGame errors

Starting from version 2021.11.9, join errors no longer exist, instead a
client will show the message "An unknown error disconnected you from the
server". As a workaround, the connection is disconnected entirely when
an error occurs, which allows us to show a custom message.

4 years agoMerge pull request #465 from miniduikboot/fix/2-28-bump
js6pak [Sat, 26 Feb 2022 16:26:54 +0000 (17:26 +0100)]
Merge pull request #465 from miniduikboot/fix/2-28-bump

4 years agoBump network version
miniduikboot [Fri, 25 Feb 2022 06:05:22 +0000 (07:05 +0100)]
Bump network version

4 years agoMerge pull request #460 from miniduikboot/feature/queryplatformids
miniduikboot [Mon, 14 Feb 2022 21:12:47 +0000 (22:12 +0100)]
Merge pull request #460 from miniduikboot/feature/queryplatformids

Add QueryPlatformIds

4 years agoAdd QueryPlatformIds
miniduikboot [Wed, 2 Feb 2022 21:07:17 +0000 (22:07 +0100)]
Add QueryPlatformIds

Some platforms (notable the Microsoft Store version) ask for this before connecting.

4 years agoMerge pull request #455 from miniduikboot/fix/i18n-nicknames
miniduikboot [Thu, 27 Jan 2022 18:23:30 +0000 (19:23 +0100)]
Merge pull request #455 from miniduikboot/fix/i18n-nicknames

Fix/i18n nicknames

4 years agoMerge pull request #458 from miniduikboot/fix/ac-engineer-snapto
miniduikboot [Thu, 27 Jan 2022 18:22:59 +0000 (19:22 +0100)]
Merge pull request #458 from miniduikboot/fix/ac-engineer-snapto

AC: Allow engineers to move to a different vent.

4 years agoPartial revert of cc8d5d2: Readd length check
miniduikboot [Thu, 27 Jan 2022 17:24:02 +0000 (18:24 +0100)]
Partial revert of cc8d5d2: Readd length check

Oversized nicknames can cause bigger issues, so it is desireable to
still block them. .Length counts codepoints, not bytes, which means
that 10 character Japanese nicknames, which are configurable ingame,
should still be allowed.

4 years agoAC: Allow engineers to move to a different vent.
miniduikboot [Thu, 27 Jan 2022 17:10:46 +0000 (18:10 +0100)]
AC: Allow engineers to move to a different vent.

4 years agoMerge pull request #453 from miniduikboot/fix/ga-half-cooldown
miniduikboot [Fri, 14 Jan 2022 22:06:28 +0000 (23:06 +0100)]
Merge pull request #453 from miniduikboot/fix/ga-half-cooldown

AC CheckMurder: Require half of cooldown

4 years agoAdd comment to clarify why this exists
miniduikboot [Fri, 14 Jan 2022 18:47:58 +0000 (19:47 +0100)]
Add comment to clarify why this exists

4 years agoMerge pull request #452 from miniduikboot/fix/host-migrate
miniduikboot [Fri, 14 Jan 2022 17:21:16 +0000 (18:21 +0100)]
Merge pull request #452 from miniduikboot/fix/host-migrate

Before this commit, when the host of a game disconnects, the InnerPlayerInfo from the player is removed, which causes the new host to disconnect because of a deserialization error. This PR fixes this issue

4 years agoRemove name length/validity checks from JoinGame
miniduikboot [Mon, 10 Jan 2022 19:47:19 +0000 (20:47 +0100)]
Remove name length/validity checks from JoinGame

Length and validity are checked also checked by the anticheat. In case
Impostor goes out of sync with the allowed characters again, this can
just be fixed by disabling the Anticheat.

Check for NullOrWhiteSpace is kept because an empty username could be annoying

4 years agoSync IsCharAllowed with Innersloth implementation
miniduikboot [Mon, 10 Jan 2022 19:47:02 +0000 (20:47 +0100)]
Sync IsCharAllowed with Innersloth implementation

4 years agoAC CheckMurder: Require half of cooldown
miniduikboot [Sat, 8 Jan 2022 17:15:12 +0000 (18:15 +0100)]
AC CheckMurder: Require half of cooldown

When the Guardian Angel protects a player, the impostor that just missed
their kill gets back half of their cooldown. Keeping track of whether or
not the player was protected is more difficult due to how the Guardian
Angel is implemented, so instead we halve the minimum time between kill
in order to minimize false positives.

4 years agoClamp taskCount to the length of the task list
miniduikboot [Sat, 8 Jan 2022 16:38:22 +0000 (17:38 +0100)]
Clamp taskCount to the length of the task list

New tasks cannot be created at this point because we don't know the
underlying tasks. So we try to maintain the tasks we do know of.

4 years agoDo not destroy PlayerControl if game is starting
miniduikboot [Sat, 8 Jan 2022 16:16:59 +0000 (17:16 +0100)]
Do not destroy PlayerControl if game is starting

This player may still get assigned tasks, which could lead to
deserialization problems.

4 years agoMark game as started when RPC SetRole is called
miniduikboot [Sat, 8 Jan 2022 15:43:01 +0000 (16:43 +0100)]
Mark game as started when RPC SetRole is called

This used to be done when SetInfected was called, but this RPC is no
longer used since 2021.11.9 in favor of this RPC.

4 years agoMerge pull request #442 from Impostor/2021.11.9
miniduikboot [Tue, 21 Dec 2021 22:27:38 +0000 (23:27 +0100)]
Merge pull request #442 from Impostor/2021.11.9

2021.11.9 and 2021.12.14 support

4 years agoSet RoleType in PlayerInfo.Deserialize
js6pak [Wed, 15 Dec 2021 14:36:01 +0000 (15:36 +0100)]
Set RoleType in PlayerInfo.Deserialize

4 years agoDon't do public methods in interfaces
js6pak [Wed, 15 Dec 2021 14:35:46 +0000 (15:35 +0100)]
Don't do public methods in interfaces

4 years agoReadd HandleSet{Pet/Hat/Skin}
js6pak [Wed, 15 Dec 2021 14:33:01 +0000 (15:33 +0100)]
Readd HandleSet{Pet/Hat/Skin}

4 years agoImplement cosmetic rpc methods
js6pak [Wed, 15 Dec 2021 13:55:48 +0000 (14:55 +0100)]
Implement cosmetic rpc methods

4 years agoDocument IClient.PlatformSpecificData
js6pak [Wed, 15 Dec 2021 13:52:22 +0000 (14:52 +0100)]
Document IClient.PlatformSpecificData

4 years agoChange RoleOptionsData floats to be bytes as they can't ever be floats anyway
js6pak [Wed, 15 Dec 2021 13:51:07 +0000 (14:51 +0100)]
Change RoleOptionsData floats to be bytes as they can't ever be floats anyway

4 years agoAdd initial support for 2021.12.14
miniduikboot [Tue, 14 Dec 2021 20:38:26 +0000 (21:38 +0100)]
Add initial support for 2021.12.14

4 years agoAdd RPC's for CheckProtect and ProtectPlayer
miniduikboot [Mon, 22 Nov 2021 22:04:56 +0000 (23:04 +0100)]
Add RPC's for CheckProtect and ProtectPlayer

4 years agoImplement new MurderPlayer logic
miniduikboot [Mon, 22 Nov 2021 21:12:34 +0000 (22:12 +0100)]
Implement new MurderPlayer logic

In 2021.11.9, the host now uses MurderPlayer instead of impostors.
Impostor now use CheckMurder to request the host to kill a player. This
allows the host to prevent the target of the Guardian Angel from dying.

However, if the impostor that is checking the kill is also the host, AU
internally processes the CheckMurder RPC and sends the MurderPlayer RPC
first, *then* it sends the CheckMurder RPC.

4 years agoAdd platform data to GameList
miniduikboot [Mon, 15 Nov 2021 21:54:34 +0000 (22:54 +0100)]
Add platform data to GameList

4 years agoFix ServerReplay
js6pak [Sat, 13 Nov 2021 18:51:52 +0000 (19:51 +0100)]
Fix ServerReplay

4 years agoBump to 1.7
miniduikboot [Fri, 12 Nov 2021 22:10:24 +0000 (23:10 +0100)]
Bump to 1.7

4 years agoAllow Shapeshifters to use RPC Shapeshift
miniduikboot [Fri, 12 Nov 2021 21:57:52 +0000 (22:57 +0100)]
Allow Shapeshifters to use RPC Shapeshift

4 years agoAllow Engineers to vent
miniduikboot [Fri, 12 Nov 2021 21:57:29 +0000 (22:57 +0100)]
Allow Engineers to vent

4 years agoImplement Rpc 44: SetRole
miniduikboot [Fri, 12 Nov 2021 21:56:35 +0000 (22:56 +0100)]
Implement Rpc 44: SetRole

4 years agoAdd name/psd/level to JoinGame- and JoinedGameS2C
miniduikboot [Fri, 12 Nov 2021 20:11:48 +0000 (21:11 +0100)]
Add name/psd/level to JoinGame- and JoinedGameS2C

Two players can now connect to the same lobby

4 years agoRemove initial state flag from InnerGameData
miniduikboot [Wed, 10 Nov 2021 22:04:21 +0000 (23:04 +0100)]
Remove initial state flag from InnerGameData

4 years agoImplement SetActivePodType
miniduikboot [Wed, 10 Nov 2021 20:23:00 +0000 (21:23 +0100)]
Implement SetActivePodType

4 years agoWIP
js6pak [Wed, 10 Nov 2021 19:46:56 +0000 (20:46 +0100)]
WIP

4 years agoRIP AnnouncementsServer
js6pak [Wed, 10 Nov 2021 12:52:15 +0000 (13:52 +0100)]
RIP AnnouncementsServer

5 years ago[skip ci] Auto deploy github releases
js6pak [Thu, 5 Aug 2021 10:50:37 +0000 (12:50 +0200)]
[skip ci] Auto deploy github releases

5 years agoMerge pull request #431 from miniduikboot/feature/2021.6.30 v1.6.0
js6pak [Fri, 30 Jul 2021 18:41:57 +0000 (20:41 +0200)]
Merge pull request #431 from miniduikboot/feature/2021.6.30

5 years agoHandle all handshake versions
js6pak [Tue, 27 Jul 2021 15:42:11 +0000 (17:42 +0200)]
Handle all handshake versions

5 years agoLanguage and chat mode api
js6pak [Tue, 27 Jul 2021 14:58:20 +0000 (16:58 +0200)]
Language and chat mode api

5 years agoImprove docs (#435)
miniduikboot [Sun, 25 Jul 2021 19:53:43 +0000 (21:53 +0200)]
Improve docs (#435)

5 years agoAddress feedback
miniduikboot [Sun, 25 Jul 2021 18:22:02 +0000 (20:22 +0200)]
Address feedback

5 years agoCheck client version when parsing C2S handshake
miniduikboot [Wed, 21 Jul 2021 19:53:22 +0000 (21:53 +0200)]
Check client version when parsing C2S handshake

2021.6.30 added new fields, which aren't present on old clients.

This commit makes sure players on old versions are disconnected properly
instead of the server erroring internally.

5 years agoDisable ownership check for BootFromVent
miniduikboot [Wed, 21 Jul 2021 18:35:55 +0000 (20:35 +0200)]
Disable ownership check for BootFromVent

5 years agoImplement RPC 35: Update System
miniduikboot [Wed, 7 Jul 2021 22:08:35 +0000 (00:08 +0200)]
Implement RPC 35: Update System

5 years agoImplement RPC 34: Boot from vent
miniduikboot [Wed, 7 Jul 2021 20:18:50 +0000 (22:18 +0200)]
Implement RPC 34: Boot from vent

5 years agoBump to 1.6 because new net version
miniduikboot [Wed, 7 Jul 2021 19:53:08 +0000 (21:53 +0200)]
Bump to 1.6 because new net version

5 years agoAdd Vent Cleaning task
miniduikboot [Wed, 7 Jul 2021 19:51:58 +0000 (21:51 +0200)]
Add Vent Cleaning task

As these spawn in various rooms under the same task id the name of this
task does not include a room name

5 years agoAdd Airship Lounge/Showers Empty Garbage tasks
miniduikboot [Wed, 7 Jul 2021 19:51:03 +0000 (21:51 +0200)]
Add Airship Lounge/Showers Empty Garbage tasks

Also Calibrate Distributor moved up

5 years agoAdd two extra fields to handshake
miniduikboot [Wed, 7 Jul 2021 18:17:05 +0000 (20:17 +0200)]
Add two extra fields to handshake

5 years agoBump client version
miniduikboot [Wed, 7 Jul 2021 16:39:21 +0000 (18:39 +0200)]
Bump client version

5 years agoImprove error when client version is unsupported (#432) v1.5.0
miniduikboot [Tue, 13 Jul 2021 20:48:24 +0000 (22:48 +0200)]
Improve error when client version is unsupported (#432)

* Improve error when client version is unsupported

In the default message that was used previously the user is asked to
upgrade his game. This is not always correct, as sometimes the Impostor
server is too old and should be updated instead. Therefore custom
disconnect messages are used that blames either the user or the server
operator, which is hopefully more accurate.

I've chosen not to include the game version that is supported by the
server in this message because the network version rarely matches the
advertised version in the main menu.

* Rewrite versionCompare switch case

Co-authored-by: js6pak <kubastaron@hotmail.com>
Co-authored-by: js6pak <kubastaron@hotmail.com>
5 years agoLog unsupported version
js6pak [Wed, 7 Jul 2021 17:01:31 +0000 (19:01 +0200)]
Log unsupported version

5 years agoMerge pull request #430 from Bramux/fix-hat-mismatch
js6pak [Mon, 5 Jul 2021 21:19:30 +0000 (23:19 +0200)]
Merge pull request #430 from Bramux/fix-hat-mismatch

Fix mismatched hats

5 years agoCorrect hat mismatches
Bramux [Mon, 5 Jul 2021 20:26:28 +0000 (22:26 +0200)]
Correct hat mismatches

5 years agoMerge pull request #429 from miniduikboot/fix/style
js6pak [Mon, 5 Jul 2021 19:22:28 +0000 (21:22 +0200)]
Merge pull request #429 from miniduikboot/fix/style

5 years agoFix warnings in Impostor.Benchmarks
js6pak [Mon, 5 Jul 2021 19:13:56 +0000 (21:13 +0200)]
Fix warnings in Impostor.Benchmarks

5 years agoUse var instead of explicit type
miniduikboot [Mon, 5 Jul 2021 18:14:05 +0000 (20:14 +0200)]
Use var instead of explicit type

Also prevent future issues

5 years agoRemove unnecessary imports
miniduikboot [Mon, 5 Jul 2021 18:13:26 +0000 (20:13 +0200)]
Remove unnecessary imports

And add rule to prevent future issues

5 years agoMerge pull request #428 from miniduikboot/fix/colortype
js6pak [Mon, 5 Jul 2021 18:33:11 +0000 (20:33 +0200)]
Merge pull request #428 from miniduikboot/fix/colortype

Correct ColorType array

5 years agoMerge pull request #427 from miniduikboot/fix/airship-spawn
js6pak [Mon, 5 Jul 2021 18:30:12 +0000 (20:30 +0200)]
Merge pull request #427 from miniduikboot/fix/airship-spawn

Stop cancelling initial Airship spawn SnapTo RPC

5 years agoCorrect ColorType array
miniduikboot [Mon, 5 Jul 2021 18:06:21 +0000 (20:06 +0200)]
Correct ColorType array

When creating this array for the update, I used the wrong array. Oops!
Turns out 5 of these colors aren't actually in the game.

5 years agoStop cancelling initial Airship spawn SnapTo RPC
miniduikboot [Mon, 5 Jul 2021 17:37:19 +0000 (19:37 +0200)]
Stop cancelling initial Airship spawn SnapTo RPC

This is used to hide players that are still selecting their spawn
location. If this is cancelled, players are left standing at the
location they were at when the last meeting was called, which is undesirable.

5 years agoRemove legacy regionInfo patcher
js6pak [Mon, 5 Jul 2021 16:27:59 +0000 (18:27 +0200)]
Remove legacy regionInfo patcher

5 years agoMerge pull request #423 from miniduikboot/feature/2021.6.15
js6pak [Sat, 26 Jun 2021 20:26:07 +0000 (20:26 +0000)]
Merge pull request #423 from miniduikboot/feature/2021.6.15

5 years agoTurn derived properties into getters
miniduikboot [Wed, 23 Jun 2021 18:46:45 +0000 (20:46 +0200)]
Turn derived properties into getters

There is no significant performance difference: while accessing the
getters is slightly slower, this can be balanced against the cost of
setting the property. As this is also cleaner, switch to getters.

5 years agoRefactor Polus meeting room spawning logic
miniduikboot [Sun, 20 Jun 2021 19:44:18 +0000 (21:44 +0200)]
Refactor Polus meeting room spawning logic

Also adjust the constants to the new constants used in game

5 years agoStub implementation of SendQuickChat
miniduikboot [Sun, 20 Jun 2021 13:02:32 +0000 (15:02 +0200)]
Stub implementation of SendQuickChat

Proper API will follow later

5 years agoRemove the table from the Readme
miniduikboot [Sun, 20 Jun 2021 11:40:59 +0000 (13:40 +0200)]
Remove the table from the Readme

As Among Us is getting a lot of small network-compatible bugfix releases
nowadays, it doesn't seem necessary to maintain the table anymore.
Release notes state clearly which network version is supported and there
is limited support for old versions anyway.

5 years agoSimplify the setup instructions
miniduikboot [Sun, 20 Jun 2021 11:37:04 +0000 (13:37 +0200)]
Simplify the setup instructions

The patcher has not been updated to support the new JSON format and is
less necessary now that JSON is used for the region file format.

The website also now has deeplinking support, so we point Android/iOS
people to the website now too as that is more convenient compared to the
previous methods.

5 years agoMeeting changes
js6pak [Thu, 17 Jun 2021 17:13:16 +0000 (19:13 +0200)]
Meeting changes

5 years agoAnnouncements protocol changes
js6pak [Thu, 17 Jun 2021 12:10:38 +0000 (14:10 +0200)]
Announcements protocol changes