Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoldenEye Recomp — Online Server

A tiny, standalone matchmaker + UDP relay that lets people play the GoldenEye 007 recompilation online together over the internet.

One person runs this server and shares its address; everyone enters that same address in the game's ONLINE menu and they can find and join each other's matches.

This is just the server. You need the game itself — see the GoldenEye-Recomp repo.

How it works

The game already speaks the Xbox 360 System Link network protocol. This server sits in the middle and does two jobs:

  1. Matchmaker — hosts register their game; players query for the list.
  2. Relay — forwards the game's LAN broadcast/unicast packets between players (loopback/LAN broadcast can't cross the internet on its own). Each player is given a virtual 10.0.0.x identity used for routing.

Because every player connects out to the server, no port-forwarding is needed for players — only the host needs the server's one UDP port reachable.

Build

Requires CMake and a C++17 compiler.

cmake -S . -B build
cmake --build build --config Release
  • Windows: links ws2_32 automatically. Output: build/ge_server.exe (or build/Release/ge_server.exe).
  • Linux: g++ -O2 -std=c++17 src/server.cpp -o ge_server also works.

Run

Windows (easy): double-click host_server.bat. Edit the two lines at the top first if you want:

set "BIND_IP=0.0.0.0"   REM 0.0.0.0 = listen on everything (normal)
set "PORT=31000"        REM UDP port players/your tunnel use

Any OS: ge_server [bind_ip] [port] — both optional, default 0.0.0.0 31000.

Keep the window open while hosting.

Hosting options (how friends reach you)

Whatever you use, friends put your reachable address + the same port in their game's ONLINE menu.

Setup Friends connect to Notes
Same PC / LAN your LAN IP (ipconfig) nothing else needed
Hamachi your Hamachi IP easy, no port-forward
playit.gg the address playit gives you free tunnel, no port-forward; use the playit port
Public / VPS your public IP forward UDP 31000, or host on a cheap/free VPS

See DEPLOY.md for a full always-on deployment guide (e.g. a free Oracle Cloud instance).

Notes

  • The wire protocol (src/ge_net_protocol.h) must stay byte-identical to the game client's copy — don't change it without changing the game too.
  • The server forwards opaque game data; it does not read or modify gameplay.

License

Public domain (The Unlicense). Do whatever you want with it.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages