This repository was archived by the owner on Nov 9, 2023. It is now read-only.
Releases: Xenomega/EchoRelay
Releases · Xenomega/EchoRelay
v0.7.0
Version 0.7.0 marks the official release of EchoRelay. Although EchoRelay the repository was made public prior to this release, I decided to apply some final bug fixes and cut a release before discontinuing the project. Unless version has a major bug in it that did not exist before, it is unlikely there will be any releases to follow.
What's Changed
- [Added]
EchoRelay.Cli: a naive multi-platform command-line application forEchoRelay.Core.- Provided binaries:
linux-arm,linux-arm,linux-x64,osx-arm64,osx-x64,win-arm64,win-x86, andwin-x64. - Note: These were quickly build with
dotnet build, but onlylinux-x64andwin-x64were tested.
- Provided binaries:
- [Added] Optional game server endpoint validation: Central servers can now perform a test against a game server at registration-time to see if its port is properly exposed. If it is not, it will be rejected (enabled by default).
- [Added] Game executable version checks to
EchoRelay.Patch. You will now be warned if you are runningEchoRelay.Patchwith the wrong game executable. - [Added] Use of
-noovrwith-windowedwill add the suffix "[DEMO]" to the window title, so OVR windows can be distinguished from NoOVR. - [Changed] "Disable AFK timeout" is now
trueby default for new accounts, so-windowedplayers will not be kicked from a server after some time. - [Stability] Fixed
-headless's high CPU usage by introducing a-timestep <tickrate/s>argument toEchoRelay.Patch. By default, the tick rate is fixed to 120 ticks/s in headless now, even if the argument is not specified. Previously, it was unthrottled. Providing a tick rate of 0 will leave it unthrottled. - [Stability] Fixed
EchoRelay.GameServerunloading, so it is properly unloaded now without causing exceptions. It no longer force quits on a request to unload. - [Stability] Hooked the game server's "fail to load level" routine to instead re-create a game session. This means if a server mistakenly fails to load a level (it rarely happens) or the client requests a non-existent level, the game server will not be stuck in a "failed to load level" screen, where it can not be matchmaked with.
- [Stability] Various more bug fixes, including some thread deadlocking issue in
EchoRelay.App, matching, etc.
Some bonus content from my unfinished work:
- [WIP] Added unfinished AI/bot matching code. This alone won't work. Bots can be added to levels they will not move in, but not actual AI matches in a way they will interact. There is likely a missing network message between game servers and central servers that addresses "players per team", "human team", and other lobby settings. I'm done beyond this point, so I thought I'd commit it.
- [Fixed] Added an (ugly) fix to prevent Echo Arena and Echo Combat public matches from allowing more than 4v4 actual game participants (non-spectator). This likely should not be done this way, but through some intermediate message that's missing between game servers and central servers (as noted in the previous bullet).
- [WIP]
EchoRelay.PatchLauncherwas provided, but is unused and is not necessary. I don't recommend using it. It was originally a launcher to useEchoRelay.Patchwithout use ofdbgcore.dllrenaming. The code is ugly, but it's there for reference to whoever it may interest.
Full Changelog: here