network: NIC spoof (#911)

## Link to GitHub Issue or related Pull Request, if one exists
#0

## Description of change
Spoof a valid NIC, so games can use a local server completely offline.
Previously this was impossible on macOS wine, or it required km-test
loopback adapter on Windows.

## Testing
Tested DDR (32bit/64bit) and SDVX on Windows 10 and macOS Tahoe.
Enabling -nicspoof and -icmphook connects to airgapped 127.0.0.1.
This commit is contained in:
drmext
2026-09-10 20:00:07 +00:00
committed by GitHub
parent f11b9d0189
commit 531e7a54b3
6 changed files with 570 additions and 0 deletions
+9
View File
@@ -3187,6 +3187,15 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = std::invoke([]()
.type = OptionType::Bool,
.category = "Network Dev",
};
c[launcher::Options::EnableNICSpoof] = {
.title = "Enable NIC Spoof",
.name = "nicspoof",
.desc = "Report a fake Ethernet IPv4 adapter (10.57.3.2) so the game can "
"boot when no real NIC is present. DNS names are mapped to that "
"address. Does not create a real adapter.",
.type = OptionType::Bool,
.category = "Network Dev",
};
c[launcher::Options::AutoElevate] = {
.title = "Run as",
.name = "runas",