Skip to content

Latest commit

Β 

History

383 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

╔══════════════════════════════════════════════════════════════════╗
β•‘                                                                  β•‘
β•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—    β•‘
β•‘   β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β•    β•‘
β•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘         β•‘
β•‘   β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β•šβ•β•β•β•β–ˆβ–ˆβ•‘  β•šβ–ˆβ–ˆβ•”β•  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘         β•‘
β•‘   β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—    β•‘
β•‘   β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β•β•   β•šβ•β•   β•šβ•β•  β•šβ•β•β•β• β•šβ•β•β•β•β•β•    β•‘
β•‘                                                                  β•‘
β•‘          NIGHT CITY MULTIPLAYER  Β·  CYBERPUNK 2077 v2.31         β•‘
β•‘                     PROTOCOL 0x8  Β·  NET 9                       β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

status game build region events license

Client plugin Β· Redscript layer Β· .NET game server Β· C++ networking core
Jack in with RedSyncLauncher.exe Β· Download package Β· Quick start


00 SYSTEM MATRIX

Status bars show live capability. Launcher + in-game chat are ONLINE.

Online systems

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)

01 CONTROL DECK

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)

02 COMMS β€” CHAT LIVE

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|…


03 COMBAT EVENTS

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.

PROJECT SMASHER

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.

CERBERUS EVENT

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.


04 QUICK START

  1. Download the slim launcher package:
  2. Unzip and run RedSyncLauncher.exe (no Python required).
  3. First run offers Install / Repair (RED4ext, redscript, Codeware, RedSync + voice).
  4. Enter a callsign, select a relay (YOUR_SERVER_IP:2077), click JACK IN.
  5. 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.


05 REQUIREMENTS

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.


06 ARCHITECTURE

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ 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

07 SELF-HEAL

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.

24/7 watchdog + anti-regression (host)

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

See release/ops/README.md.


08 SECURITY

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 map

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.


09 RUN SERVER

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-server

Local / 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).


10 BUILD CLIENT

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 Release

Output: client/red4ext/build/vs-vcpkg/src/Release/RedSync.Red4Ext.dll

Manual install

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.


11 ADMIN

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.


12 MISSION SYNC + SAFETY UPDATE

The current BETA worktree adds host-authoritative mission state without changing the existing Blackwall presentation or control-deck theme.

Mission sync

  • Quest facts: QuestsSystem.RegisterListener tracks the curated state-critical subset behind a prefix whitelist covering Phantom Liberty q301–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–q307 arc, 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, and release/PL-MISSION-NPC-SYNC-LIST.md.

Fresh-character and world safety

  • 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/beta CI paths.

Vehicle, elevator, and client hardening

  • 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/-o command with short retries and last-known-good restoration.
  • Launcher channel mismatches are logged instead of silently switching a BETA install to Official.

UI and release tooling

  • 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.md and release/BETA-1.0.14.txt.
  • Release policy: beta is the test channel; main is the integrated source branch; generated build/cache artifacts stay out of source commits.

FF LICENSE & CREDITS

License

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).

Credits & Dependencies

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         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

About

The CyberPunk2077 Multi-Player Framework built for gamers made by gamers 😎

Topics

Resources

Security policy

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages