All checks were successful
Build and Push Container / build (push) Successful in 2m34s
|
||
---|---|---|
.gitea/workflows | ||
Launcher | ||
LR2ArenaEx | ||
.gitignore | ||
docker-compose.yml | ||
Dockerfile | ||
LR2ArenaEx.sln | ||
README.md |
LR2ArenaEx
Hosting the standalone server
Warning
If running via a reverse proxy ensure that you do not redirect via SSL or upgrade from
ws://
towss://
. Similarly, be aware that a lot of clients hardcode:2222
as a port for the server, and other ports will likely fail!
Example Traefik config
# config.yml
providers:
file:
directory: ./dynamic-config
watch: true
entrypoints:
websocket:
address: ":2222"
# dynamic-config/lr2arenaex.yml
http:
routers:
lr2arenaex:
rule: Host(`lr2arenaex.pfy.ch`)
service: lr2arenaex
entrypoints: websocket
services:
lr2arenaex:
loadBalancer:
passHostHeader: true
servers:
- url: "http://<service-ip>:<service-port>"
Quick start
- Download the latest release here and extract it somewhere
- Launch LR2 (as a non-admin user)
- Run Launcher.exe
- Press
Ins
to toggle the overlay andPgUp
to toggle the graph - If hosting the server, make sure port 2222 is reachable from the Internet on your computer (alternatively, all players may use a VPN or a service such as ZeroTier or Tailscale to remove the need to expose the port to the Internet)
Warning
Host must always launch the chart first before other players do so, this is by design; the chart won't start if this is not done, even if the host ends up selecting the same chart as everyone else afterwards
Build
Requirements:
- Microsoft DirectX SDK (August 2007 version): https://archive.org/details/dxsdk_aug2007 (might work with older versions but it has been untested)
- Visual Studio 2019 or newer
Paths for the DirectX SDK have been hardcoded in the project settings; if you chose the default settings it should work fine but you might need to edit them depending on your setup.
⚠️ Make sure to set the platform to x86; setting it to anything else will not work
Libraries
LR2ArenaEx uses the following libraries:
- Dear ImGui
- readerwriterqueue
- IXWebSocket
- SQLite
- sqlite_modern_cpp
- msgpack
- implot
- ImGuiNotify
- mINI
- ImGuiFileDialog
Standalone server
A small wrapper around LR2ArenaEx's embedded server is available, allowing to run it as a cross-platform standalone executable. Instructions and code are available here.
Special thanks
- All people credited in the original LR2Arena project
- MatVeiQaaa for providing the base for the DirectX 9 hook and for their numerous contributions to this project
- tenaibms for their LR2OOL project which gave me a few leads on how to fix some issues (especially regarding cursor / mouse input management)
- AYhaz and Shalink for helping with testing
Known issues
- IME is not supported on the overlay
- LR2ArenaEx has been reported to be working with LR2FHD but has not been thoroughly tested with it; as such, bugs may occur
- LR2ArenaEx does not work if LR2 is ran as admin