beyond-all-reason / beyond-all-reason/RecoilEngine

Headless local replays listen on the original game's port

Open
#965 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
679
Forks
290
Avg merge
3d 2h
Merged PRs (30d)
40

Description

Headless is in theory great for doing things like mass replay analysis, but apparently it still opens up whatever port was specified in the startscript as `HostPort=9999`. So if the original game was played such that players connected to `12.34.56.78 : 9999` then your local replay will also open up `localhost : 9999` for listening, same as the original host did. This makes parallel running much more difficult than it should be because the host could have had a very limited pool of ports and then the replays conflict with each other on a collision.

Note that listening for connections is a good feature (for MP replays), the request is to add a springsetting or somesuch to make it optionally possible to disable.

Contributor guide

Open the contributing guide

Research direction

Trace how headless local replays consume the startscript HostPort=9999 value and how existing springsettings are defined and read. Verify the behavior with parallel headless replays; done means a setting can disable listening for local replays while preserving listening for multiplayer replays.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev, networking
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.