ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β βββββββ βββββββββββββββ βββββββββββ βββββββ βββ βββββββ β β ββββββββββββββββββββββββββββββββββββ βββββββββ βββββββββββ β β ββββββββββββββ βββ βββββββββββ βββββββ ββββββ ββββββ β β ββββββββββββββ βββ βββββββββββ βββββ βββββββββββββ β β βββ βββββββββββββββββββββββββββ βββ βββ ββββββββββββββ β β βββ ββββββββββββββββββ ββββββββ βββ βββ βββββ βββββββ β β β β NIGHT CITY MULTIPLAYER Β· CYBERPUNK 2077 v2.31 β β PROTOCOL 0x8 Β· NET 9 β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Client plugin Β· Redscript layer Β· .NET game server Β· C++ networking core
Jack in with RedSyncLauncher.exe Β·
Download package Β·
Quick start
Status bars show live capability. Launcher + in-game chat are ONLINE.
| Subsystem | Link | Status |
|---|---|---|
| Connection & auth | ββββββββββββ |
ONLINE β UDP (GameNetworkingSockets), username auth + admin secrets |
| HUD overlay | ββββββββββββ |
ONLINE β ping, player count, connection state |
| In-game chat | ββββββββββββ |
ONLINE β F6 player chat, history, CHAT| markers, screen broadcasts |
| Server console | ββββββββββββ |
ONLINE β F10 help / who / events / admin cmds |
| Admin panel | ββββββββββββ |
ONLINE β F7 kick Β· ban Β· teleport Β· spectate Β· events |
| Player menu | ββββββββββββ |
ONLINE β ` online list, click-name teleport (all players) |
| RedSync Launcher | ββββββββββββ |
ONLINE β RedSyncLauncher.exe Blackwall UI: install, matchmaker list, JACK IN |
| Matchmaker list | ββββββββββββ |
ONLINE β server / relay browser in the launcher |
| Join / leave | ββββββββββββ |
ONLINE β puppets spawn & despawn with players |
| Movement sync | ββββββββββββ |
ONLINE β ~10 Hz position stream |
| Animation / locomotion | ββββββββββββ |
ONLINE β remote puppets play walk / run |
| Player puppets | ββββββββββββ |
ONLINE β player character stand-ins + nametags |
| Weapons / PvP | ββββββββββββ |
ONLINE β equip, shot relay, server hitscan damage |
| PROJECT SMASHER | ββββββββββββ |
ONLINE β admin co-op Adam Smasher wave |
| CERBERUS EVENT | ββββββββββββ |
ONLINE β city-wide Cerberus hunt (Phantom Liberty) |
| World tools | ββββββββββββ |
ONLINE β force open door / fod |
| Server self-heal | ββββββββββββ |
ONLINE β prune Β· event timeout Β· empty cleanup |
| Anticheat / security | ββββββββββββ |
ONLINE β server validator Β· admins always exempt |
| Vehicles | ββββββββββββ |
IMPROVED β driver stand-in hidden while car syncs; faster vehicle pose |
| Proximity voice | ββββββββββββ |
ONLINE β press . to toggle mic (~45m, CET + UDP 2078) |
| Input | System |
|---|---|
| ` | Player menu |
| F6 | Chat (live) |
| F10 | Console |
| F11 | Stop/resume world (cars + NPCs) |
| . (period) | Toggle proximity voice chat |
| F7 | Admin panel |
stopworld / freeze |
Same as F11 (console/chat) |
projectsmasher / smasherevent |
PROJECT SMASHER (admin) |
cerberusevent / cerebus |
CERBERUS EVENT (admin) |
endevent |
Clear active event NPCs |
force open door / fod |
Open + despawn looked-at door |
broadcast <msg> |
On-screen announce (admin) |
chat <msg> / say <msg> |
Send chat |
health |
Self-heal snapshot (admin) |
security / sec |
Anticheat snapshot (admin) |
Press F6. Messages fan out to every connected player. History lives in the F6 panel and the player menu.
| Input | Behavior |
|---|---|
| Normal text | Chat β all players |
say <msg> / chat <msg> |
Explicit chat send |
| Server commands | Type in F6 without wrapping as chat β¦ (e.g. who, projectsmasher, cerberusevent) |
broadcast <msg> |
Admin toast on every screen + chat line |
Wire markers: CHAT|name|text Β· admin screens: SCREEN|β¦
One combat event at a time. New event clears the previous. Event NPCs use shared server HP; death despawns for everyone. endevent / F7 End event clears the wave. Leftovers: purge / gc.
Co-op wave: 5β10 Adam Smashers (Character.Smasher) in a ring at the commanding player.
| Start | Stop |
|---|---|
| F7 β PROJECT SMASHER | F7 β End event |
F10 / F6: projectsmasher or smasherevent [5-10] |
endevent |
Aliases: smasher, adamevent, project smasher.
City-wide hunt: 8β50 Cerberus bots (default 28) β rings around players + Night City landmarks. Record: Character.q305_cerberus (Phantom Liberty). Proximity refresh streams bots as you approach.
| Start | Stop |
|---|---|
| F7 β CERBERUS EVENT | F7 β End event |
F10 / F6: cerberusevent [8-50] |
endevent / purge |
Aliases: cerebus, cerebusevent, cerberus, cerberus event, cerebus event.
After script updates, clear r6/cache so redscript recompiles.
- Download the slim launcher package:
- CDN: RedSyncLauncher.zip
- Page (short): https://your-domain.com/rs Β· alias
/redsync - Page (legacy): RedSync.html
- Unzip and run
RedSyncLauncher.exe(no Python required). - First run offers Install / Repair (RED4ext, redscript, Codeware, RedSync + voice).
- Enter a callsign, select a relay (
YOUR_SERVER_IP:2077), click JACK IN. - Load into Night City β HUD shows ping + online players.
After script updates: Install / Repair in the launcher (or Install-All.bat).
Guides: release/START-HERE.txt Β· release/RedSyncLauncher/README.txt
--redsync-server-address=<ip> --redsync-server-port=2077 --launcher-skip
Use 127.0.0.1 only on the machine running the server. Remote clients need LAN IP or public/VPS address.
Do not copy game-path.cfg, launch-args.cfg, or server-address.cfg between PCs β they are created locally.
| Dependency | Version | Role |
|---|---|---|
| Cyberpunk 2077 | 2.31 | Other patches unsupported |
| RED4ext | 1.30.0+ | Plugin loader |
| redscript | 0.5.31+ | Script compiler |
| Codeware | 1.18.0+ | Entity spawning |
| Cyber Engine Tweaks | 1.37.0+ | Required by AMM |
| Appearance Menu Mod | 2.4+ | Remote player appearance as V |
Server from source: .NET 9. Tester package notes cover the packaged host runtime.
βββββββββββββ CLIENT βββββββββββββ βββββββββββββ SERVER βββββββββββββ
β Redscript β RED4ext C++ β ββ UDP β β Native C++ sockets/framing β
β UI Β· puppets Β· Codeware β β β .NET 9 logic Β· entities β
ββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββ
shared/protocol Β· revision must match Β· 0x8
| Component | Role |
|---|---|
client/red4ext |
Networking, clientbound spawn/teleport/destroy, serverbound actions |
client/RedscriptModule |
Game events, UI, puppet spawn/teleport via Codeware |
server/Native |
Low-level sockets and serialization |
server/Managed |
Players, entities, admin, events, chat fan-out, self-heal, security |
Long-uptime safeguards (no extra config):
| Behavior | Default |
|---|---|
| Prune stale entity tracking / send-state | every 30s |
| Auto-clear active combat event | after 45 min |
| Empty-server cleanup | after 3 min empty |
| Health snapshot in logs | every 5 min |
| Event NPC damage cooldown | 180ms per playerβNPC |
Graceful stop |
clears events then exits |
| HTTP health probe | GET http://127.0.0.1:2079/health |
Admin: health / status Β· gc / selfheal / purge
Logs: logs/log.txt Β· Discord: REDSYNC_DISCORD_WEBHOOK=off to disable.
Process-level heal lives outside the game binary (crash / hang / bad update):
| Tool | Path |
|---|---|
| Watchdog bot | release/ops/redsync-watchdog.py |
| Anti-regression | release/ops/redsync-anti-regression.py |
| Install | release/ops/install-watchdog.sh |
| Short URL | release/ops/install-short-url.sh |
Server-side validator (not client AC). Config next to the binary: security.json (auto-created on first run).
Admins are always exempt from rate limits, movement checks, combat correlation, entity caps, and auto kick/ban. Cannot be disabled.
| Option | Default | Mitigation |
|---|---|---|
enabled |
true |
Master switch |
mode |
enforce |
observe = log only; enforce = reject + punish |
adminExempt |
true (forced) |
Allowlisted admins bypass all checks |
maxSpeedMetersPerSecond |
48 |
Speed / teleport spike detection |
maxTeleportMeters |
90 |
Hard position jump cap |
snapBackOnTeleport |
true |
Reject + snap to last good position |
shootMinIntervalMs / hitMinIntervalMs |
75 |
Packet flood / rapid-fire |
allowClientPvpHit |
true |
Client OnHit assists hitscan (debounced to avoid double damage) |
playerHitRequiresRecentShootMs |
900 |
Event hits need recent PlayerShoot |
eventHitMaxRangeMeters / eventHitMaxDamage |
90 / 120 |
Spoofed event-NPC damage |
maxOwnedVehicles / maxOwnedItems |
1 / 16 |
Entity spam |
restrictTptoToAdmin |
false |
Any player can teleport to players via the ` menu |
autoKick / autoBan |
true / false |
warn 8 / kick 20 / ban 45 |
violationDecayPerMinute |
4 |
Score cools down |
Commands: security / sec / flags Β· process console: security reload.
| Threat | Mitigation |
|---|---|
| Teleport / speed hack | Movement sanity + snap-back |
Spoofed PlayerHit |
Hitscan-only PvP; event hits need shoot + range + clamp |
| Shoot / hit floods | Per-type rate limits + violation score |
| Vehicle / item spam | Caps + spawn/equip intervals |
| Unauthenticated world packets | Dropped if not connected |
Free tpto |
Admin-only by default |
| Repeat offenders | Warn β kick β optional auto-ban |
Does not claim to stop a determined local cheater forever β makes abuse noisy, limited, and kickable.
Docker (after copying protocol into the server tree):
cp -r shared/protocol server/protocol
cd server
docker build -t redsync-server .
docker run -d --name redsync-server --restart unless-stopped \
-p 2077:2077/tcp -p 2077:2077/udp redsync-serverLocal / release: RedSync - Start Server.bat or server/Start-Server.bat (UDP/TCP 2077).
From source: dotnet publish -c Release on server/Managed, then run RedSync.Server (.NET 9).
Visual Studio 2022, CMake, vcpkg:
$env:VCPKG_ROOT = "C:\path\to\vcpkg"
cmake -S client/red4ext -B client/red4ext/build/vs-vcpkg `
-DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" `
-DCMAKE_BUILD_TYPE=Release -G "Visual Studio 17 2022" -A x64
cmake --build client/red4ext/build/vs-vcpkg --config ReleaseOutput: client/red4ext/build/vs-vcpkg/src/Release/RedSync.Red4Ext.dll
| Source | Destination |
|---|---|
RedSync.Red4Ext.dll |
red4ext/plugins/ |
Runtime DLLs (GameNetworkingSockets, protobuf, abseil, OpenSSL) |
bin/x64/ |
client/RedscriptModule/src/ β RedSync/ |
r6/scripts/RedSync/ |
Delete r6/cache (or final.redscripts.modded) after install / script updates.
Healthy log (%LOCALAPPDATA%\RED4ext\RedSync.log or red4ext/logs/): connect β login accepted β PlayerJoinWorld.
Allowlisted usernames open F7 and run admin commands (server-enforced).
Next to RedSync.Server.exe (restart after edits):
[
{ "name": "YourUsername", "secret": "optional-join-secret" }
]File: admins.json (or admins.txt, one name per line). Names match join name / username.cfg (case-insensitive). Reserved admin names can require username~secret at join. Process console always has full access.
The current BETA worktree adds host-authoritative mission state without changing the existing Blackwall presentation or control-deck theme.
- Quest facts:
QuestsSystem.RegisterListenertracks the curated state-critical subset behind a prefix whitelist covering Phantom Libertyq301βq307/ep1_and the extracted base-game main/side quest facts. - Host authority: the server assigns a mission host, relays whitelisted fact changes, suppresses follower drift, deduplicates reports, and rate-limits updates.
- Late join: followers request a snapshot and receive the host's current tracked fact values immediately.
- Arc coverage: the extracted mission material covers the Phantom Liberty
q301βq307arc, including Cynosure and the Songbird/President finale, plus the base-game quest and side-quest prefixes. - Current boundary: fact relay, snapshots, and follower suppression are implemented; journal, full mission-NPC AI/workspot state, and door/device/dialogue interaction relay remain the next planned layers.
- Research artifacts:
release/MISSION-SYNC-PLAN.md,release/PL-QUEST-WHITELIST.md,release/BASE-QUEST-WHITELIST.md, andrelease/PL-MISSION-NPC-SYNC-LIST.md.
- New Game detection: the character-creation summary action marks a fresh join even when the username already owns saves.
- Resume isolation: fresh characters clear stale resume transforms and owned entities before using the safe anchor; normal reconnects retain validated Phantom Liberty positions.
- Replication guard: ambient NPCs, invalid transforms, untyped ownerless entities, and unsupported persistent props are rejected before streaming.
- Operations: read-only entity audit diagnostics, ownerless/unsupported health counters, self-heal cleanup, and a 7-case server safety suite are included.
- Validation: server safety tests, protocol consistency checks, managed-server builds, and client checks now run from the
main/betaCI paths.
- Mounted-body pose suppression and anchor guards prevent shared cars/passengers from being teleported or thrown into the air.
- Elevator state and cabin-relative holds keep remote riders aligned during stops and rides.
- Native invocation frames grow for large script calls; the compile watchdog uses the real
scc compile -s/-b/-ocommand with short retries and last-known-good restoration. - Launcher channel mismatches are logged instead of silently switching a BETA install to Official.
- Opening credits include the extended REDSYNC title card and MADE BY BLACKWALL STUDIOS treatment.
- CDN publishing verifies RTTI native names and deployment scripts handle the native server library explicitly.
- Tester notes:
CHANGELOG.mdandrelease/BETA-1.0.14.txt. - Release policy:
betais the test channel;mainis the integrated source branch; generated build/cache artifacts stay out of source commits.
GNU AGPL-3.0 β Copyright Β© 2026β2077 XEROX710 / BlackwallStudios.
Network operators who run modified versions on publicly accessible servers must make source available to users (AGPL Β§13).
RedSync builds on foundational work by the Cyberpunk 2077 modding community:
| Project | Author(s) | Role |
|---|---|---|
| CyberpunkMP | CyberpunkMP team | Original C++ multiplayer framework β networking core, packet serialization, entity replication, game-native hook patterns |
| Cyberverse Project | Cyberverse team | Extended multiplayer sync research, native method discovery, community durability testing |
| RED4ext | WopsS, jac3km4, psiberx | Native plugin loader β the C++ extension layer |
| redscript | jac3km4 | Script compiler & runtime |
| Codeware | psiberx | Entity spawning, UI toolkit, TweakDB extensions |
| ArchiveXL | psiberx | Archive extension loader |
| TweakXL | psiberx | TweakDB extension loader |
| Cyber Engine Tweaks | maximegmd, yamashi | Game scripting runtime, console, mod loader |
| Appearance Menu Mod | MaximiliumM | Player V appearance swap |
| GameNetworkingSockets | Valve Software | UDP transport layer with relay support |
| Electron / Avalonia UI | β | Launcher frameworks |
Special thanks to every tester who joined beta and staging relays.
βββββββββββββββββββββββββββββββββββββββββββ β REDSYNC Β· STAY FROSTY, CHOOM β βββββββββββββββββββββββββββββββββββββββββββ