Compare commits

...
7 Commits
Author SHA1 Message Date
Gurge44 7e7f30b75e fix gm list 2026-01-14 10:42:48 +01:00
Gurge44 15e073c932 Merge remote-tracking branch 'origin/main' 2026-01-14 10:09:35 +01:00
Gurge44 14229f6a53 7.1.2 2026-01-14 10:09:07 +01:00
Jamesssssssssssssss fdffd045db Build Steam ZIP using x86 BepInEx & Add automatic Discord #releases ping on release (#471)
* Update release.yml to build Steam ZIP correctly

Apparently steam uses x86 BepInEx, who knew

* Distinguish bepinex.zip file names

* Add #releases ping

* Better release secret name
2026-01-14 09:54:25 +01:00
Gurge44 6e25888b7f major fix in CustomRpcSender.cs 2026-01-14 09:19:44 +01:00
Gurge44 def0087782 Merge remote-tracking branch 'origin/main' 2026-01-14 08:22:27 +01:00
Gurge44 df18bb1064 fix 2026-01-14 08:22:12 +01:00
9 changed files with 74 additions and 26 deletions

No files matched your search

+34 -12
View File
@@ -113,35 +113,48 @@ jobs:
name: ehr
path: artifacts/ehr
- name: Prepare release folder
run: mkdir -p release
- name: Prepare release folders
run: |
mkdir -p epic
mkdir -p steam
- name: Download BepInEx 6 pre-release 735
run: |
curl -L https://builds.bepinex.dev/projects/bepinex_be/735/BepInEx-Unity.IL2CPP-win-x64-6.0.0-be.735%2B5fef357.zip -o bepinex.zip
unzip bepinex.zip -d release
chmod -R u+rwX,go+rX release
curl -L https://builds.bepinex.dev/projects/bepinex_be/735/BepInEx-Unity.IL2CPP-win-x64-6.0.0-be.735%2B5fef357.zip -o bepinex-x64.zip
unzip bepinex-x64.zip -d epic
chmod -R u+rwX,go+rX epic
curl -L https://builds.bepinex.dev/projects/bepinex_be/735/BepInEx-Unity.IL2CPP-win-x86-6.0.0-be.735%2B5fef357.zip -o bepinex-x86.zip
unzip bepinex-x86.zip -d steam
chmod -R u+rwX,go+rX steam
- name: Copy EHR dll to plugins
run: cp artifacts/ehr/EHR.dll release/BepInEx/plugins/
run: |
cp artifacts/ehr/EHR.dll epic/BepInEx/plugins/
cp artifacts/ehr/EHR.dll steam/BepInEx/plugins/
- name: Copy configs to BepInEx config
run: |
mkdir -p release/BepInEx/config/
cp packaging/* release/BepInEx/config/
mkdir -p epic/BepInEx/config/
mkdir -p steam/BepInEx/config/
cp packaging/* epic/BepInEx/config/
cp packaging/* steam/BepInEx/config/
- name: Download modded regions DLL to plugins
run: curl -L https://github.com/miniduikboot/Mini.RegionInstall/releases/download/v1.2.0/Mini.RegionInstall.dll -o release/BepInEx/plugins/Mini.RegionInstall.dll
run: |
curl -L https://github.com/miniduikboot/Mini.RegionInstall/releases/download/v1.2.0/Mini.RegionInstall.dll -o epic/BepInEx/plugins/Mini.RegionInstall.dll
cp epic/BepInEx/plugins/Mini.RegionInstall.dll steam/BepInEx/plugins/Mini.RegionInstall.dll
- name: Steam App ID
run : echo "945360" > steam_appid.txt
- name: Create Epic/MS Store ZIP
run: |
cd release
cd epic
zip -r "../EHR.v${{ github.event.inputs.version }}_Epic-Games_Microsoft-Store.zip" .
- name: Create Steam ZIP
run: |
cd release
echo "945360" > steam_appid.txt
cd steam
zip -r "../EHR.v${{ github.event.inputs.version }}_Steam.zip" .
- name: Upload release artifacts
@@ -213,3 +226,12 @@ jobs:
MODNEWS_API_URL: ${{ secrets.MODNEWS_API_URL }}
MODNEWS_API_TOKEN: ${{ secrets.MODNEWS_API_TOKEN }}
run: python release_to_modnews.py
# -----------------------------
# Ping Release Channel
# -----------------------------
- name: Notify Discord
run: |
curl -H "Content-Type: application/json" \
-X POST \
-d "{\"content\": \"<@&1170671991343288391>\nEHR v${{ github.event.inputs.version }}\nhttps://github.com/${{ github.repository }}/releases/tag/v${{ github.event.inputs.version }}\"}" \
${{ secrets.DISCORD_RELEASE_WEBHOOK_URL }}
+1 -1
View File
@@ -1,5 +1,5 @@
# Thank you so much for finding and using EHR!
- An attempt at fixing the host getting kicked on vanilla regions
- Another attempt at fixing the host getting kicked on vanilla regions
---
+2 -2
View File
@@ -42,8 +42,8 @@ public class Main : BasePlugin
private const string DebugKeyHash = "c0fd562955ba56af3ae20d7ec9e64c664f0facecef4b3e366e109306adeae29d";
private const string DebugKeySalt = "59687b";
private const string PluginGuid = "com.gurge44.endlesshostroles";
public const string PluginVersion = "7.1.1";
public const string PluginDisplayVersion = "7.1.1";
public const string PluginVersion = "7.1.2";
public const string PluginDisplayVersion = "7.1.2";
public const bool TestBuild = false;
public const string NeutralColor = "#ffab1b";
+11 -3
View File
@@ -114,6 +114,12 @@ public class CustomRpcSender
// StartMessage processing
if (currentState == State.InRootMessage)
EndMessage(startNew: true);
else if (messages > 0) // state is Ready
{
doneStreams.Add(stream);
stream = MessageWriter.Get(sendOption);
messages = 0;
}
StartMessage(targetClientId);
}
@@ -205,6 +211,7 @@ public class CustomRpcSender
{
doneStreams.Add(stream);
stream = MessageWriter.Get(sendOption);
messages = 0;
}
if (targetClientId < 0)
@@ -244,6 +251,7 @@ public class CustomRpcSender
{
doneStreams.Add(stream);
stream = MessageWriter.Get(sendOption);
messages = 0;
}
currentRpcTarget = -2;
@@ -274,10 +282,10 @@ public class CustomRpcSender
throw new InvalidOperationException(errorMsg);
}
if (messages >= AmongUsClient.Instance.GetMaxMessagePackingLimit())
if (messages >= 10)
{
doneStreams.Add(stream);
stream = MessageWriter.Get(sendOption);
EndMessage(startNew: true);
StartMessage(currentRpcTarget);
}
messages++;
+1 -1
View File
@@ -1361,7 +1361,7 @@ public static class GuessManager
int textIndex = 0;
int messages = 0;
int packingLimit = AmongUsClient.Instance.GetMaxMessagePackingLimit();
int packingLimit = 10;
var skipped = false;
PlayerControl guesser = guesserId.GetPlayer();
+2 -2
View File
@@ -3197,7 +3197,7 @@ public static class Utils
public static void SendGameData()
{
int messages = 0;
int packingLimit = AmongUsClient.Instance.GetMaxMessagePackingLimit();
int packingLimit = 10;
MessageWriter writer = MessageWriter.Get(SendOption.Reliable);
writer.StartMessage(5);
@@ -3231,7 +3231,7 @@ public static class Utils
public static void SendGameDataTo(int targetClientId)
{
int messages = 0;
int packingLimit = AmongUsClient.Instance.GetMaxMessagePackingLimit();
int packingLimit = 10;
MessageWriter writer = MessageWriter.Get(SendOption.Reliable);
writer.StartMessage(6);
+3 -3
View File
@@ -72,10 +72,10 @@ internal static class GameEndChecker
Ended = true;
LoadingEndScreen = true;
Main.AllPlayerControls.Do(pc => Camouflage.RpcSetSkin(pc, true, true, true));
//Main.AllPlayerControls.Do(pc => Camouflage.RpcSetSkin(pc, true, true, true));
NameNotifyManager.Reset();
NotifyRoles(ForceLoop: true);
//NotifyRoles(ForceLoop: true);
CustomSabotage.Reset();
@@ -623,7 +623,7 @@ internal static class GameEndChecker
foreach (PlayerState playerState in statesCoutingAsCrew)
{
if (!Options.CrewAdvancedGameEndCheckingSettings.TryGetValue(playerState.MainRole, out var option) || !option.GetBool()) continue;
if (!Options.CrewAdvancedGameEndCheckingSettings.TryGetValue(playerState.MainRole, out var option) || !option.GetBool() || playerState.SubRoles.Exists(x => x == CustomRoles.Madmate || x.IsConverted())) continue;
playerState.Role.ManipulateGameEndCheckCrew(playerState, out bool keepGameGoing, out int countsAs);
crewKeepsGameGoing |= keepGameGoing;
crew += countsAs - 1;
+10 -1
View File
@@ -1182,8 +1182,17 @@ public static class GameSettingMenuPatch
if (SubmergedCompatibility.Loaded && Main.NormalOptions.MapId == 6)
gms.RemoveAll(SubmergedCompatibility.IsNotSupported);
if (Main.LIMap)
{
gms.Remove(CustomGameMode.CaptureTheFlag);
gms.Remove(CustomGameMode.Quiz);
gms.Remove(CustomGameMode.TheMindGame);
gms.Remove(CustomGameMode.BedWars);
gms.Remove(CustomGameMode.Deathrace);
}
int totalCols = Mathf.Max(1, Mathf.CeilToInt(gms.Count / 7f));
int totalCols = 2;
GMButtons = [];
+10 -1
View File
@@ -181,7 +181,16 @@ public static class MainMenuManagerPatch
buttonText.text = Translator.GetString($"MainMenu.{buttonName.Replace(" ", "")}");
}
__instance.PlayOnlineButton.OnClick.AddListener((UnityAction)(() => GameOptionsManager.Instance.Initialize()));
__instance.PlayOnlineButton.OnClick.AddListener((UnityAction)(() =>
{
GameOptionsManager.Instance.Initialize();
if (GameOptionsManager.Instance.normalGameHostOptions.MapId is 3 or > 5)
{
GameOptionsManager.Instance.normalGameHostOptions.MapId = 0;
GameOptionsManager.Instance.SaveNormalHostOptions();
}
}));
}
private static PassiveButton CreateButton(string name, Vector3 localPosition, Color32 normalColor, Color32 hoverColor, Action action, string label, Vector2? scale = null)