mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 10:53:44 +00:00
Staff arm a packet capture on the dashboard; master passes MESSAGE_CAPTURE_CONTROL ARM to every world, auth and chat and arms its own. Each server's PacketCapture tap (dServer receive, and a send hook in RakPeer::Send so replica constructions are seen too) records into one preallocated chunk per server and ships sealed chunks through master on the main loop when capture_flush_bytes or capture_flush_interval_ms is reached; past capture_buffer_max_mb the oldest chunks are dropped and the dashboard records a gap. Nothing is armed: one flag check. - targets: an account (from its login; packets before the login are kept per connection and added once auth or the world knows whose they are), a character (from when it is picked), or everything; up to 8 at once (a bit each in the record mask) - worlds and auth record their clients' packets and the master link messages of a captured player (session keys by name, zone transfers by request, player added/removed, migration); chat finds the player in each packet; master records server traffic for everything - secrets are never recorded: structs that carry them (login request, login response user key, world validation session key, session key messages between servers) are read, blanked and written again before recording; auth keeps only the handshake and login - PacketDecoder: a registry by service and message id names every packet and decodes the registered structs; CaptureBundle is the file format (DLUBNDL1, metadata, records); CaptureTools orders records on one timeline, pulls movement out, makes bundles portable or anonymous and diffs replays - the dashboard keeps packet captures in message_capture_sessions (capture_kind 1) and their packets in a file under capture_dir, one write per batch; arming is audited - MESSAGE_CAPTURE_CONTROL/DATA only gain appended enum values and trailing fields Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
146 lines
1.9 KiB
Plaintext
146 lines
1.9 KiB
Plaintext
temp/
|
|
cmake-build-debug/
|
|
RelWithDebInfo/
|
|
docker/configs
|
|
|
|
# Third party libraries
|
|
thirdparty/mysql/
|
|
thirdparty/mysql_linux/
|
|
|
|
# Build folders
|
|
build/
|
|
linux_build/
|
|
|
|
# Codeblocks
|
|
*.layout
|
|
|
|
# User-specific files
|
|
*.rsuser
|
|
*.suo
|
|
*.user
|
|
*.userosscache
|
|
*.sln.docstates
|
|
|
|
# User-specific files (MonoDevelop/Xamarin Studio)
|
|
*.userprefs
|
|
|
|
# Build results
|
|
[Dd]ebug/
|
|
[Dd]ebugPublic/
|
|
[Rr]elease/
|
|
[Rr]eleases/
|
|
x64/
|
|
x86/
|
|
bld/
|
|
[Bb]in/
|
|
[Oo]bj/
|
|
[Ll]og/
|
|
|
|
# Visual Studio 2015/2017 cache/options directory
|
|
.vs/
|
|
|
|
# Files built by Visual Studio
|
|
*_i.c
|
|
*_p.c
|
|
*_h.h
|
|
*.ilk
|
|
*.meta
|
|
*.obj
|
|
*.iobj
|
|
*.pch
|
|
*.pdb
|
|
*.ipdb
|
|
*.idb
|
|
*.pgc
|
|
*.pgd
|
|
*.rsp
|
|
*.sbr
|
|
*.tlb
|
|
*.tli
|
|
*.tlh
|
|
*.tmp
|
|
*.tmp_proj
|
|
*_wpftmp.csproj
|
|
*.log
|
|
*.vspscc
|
|
*.vssscc
|
|
.builds
|
|
*.pidb
|
|
*.svclog
|
|
*.scc
|
|
*.lastbuildstate
|
|
|
|
# Visual C++ cache files
|
|
ipch/
|
|
*.aps
|
|
*.ncb
|
|
*.opendb
|
|
*.opensdf
|
|
*.sdf
|
|
*.cachefile
|
|
*.VC.db
|
|
*.VC.VC.opendb
|
|
|
|
# Visual Studio Log Files
|
|
*.tlog
|
|
*.log
|
|
|
|
# VS Code
|
|
.vscode
|
|
|
|
# Clion (IntelliJ)
|
|
.idea
|
|
.DS_Store
|
|
|
|
# Exceptions:
|
|
CMakeSettings.json
|
|
CMakeUserPresets.json
|
|
*.vcxproj
|
|
*.filters
|
|
*.cmake
|
|
CMakeCache.txt
|
|
*.bin
|
|
CMakeFiles/3.17.3/CompilerIdC/CMakeCCompilerId.c
|
|
CMakeFiles/3.17.3/CompilerIdCXX/CMakeCXXCompilerId.cpp
|
|
CMakeFiles/3.17.3/VCTargetsPath.txt
|
|
CMakeFiles/3e6b105f924142e3e299a1a30e09566e/generate.stamp.rule
|
|
CMakeFiles/cmake.check_cache
|
|
CMakeFiles/generate.stamp
|
|
CMakeFiles/generate.stamp.depend
|
|
CMakeFiles/generate.stamp.list
|
|
CMakeFiles/TargetDirectories.txt
|
|
*.sln
|
|
*.recipe
|
|
|
|
# clangd
|
|
.cache
|
|
thirdparty/zlib-1.2.11/
|
|
|
|
.env
|
|
docker/__pycache__
|
|
|
|
docker-compose.override.yml
|
|
|
|
!*Test.bin
|
|
|
|
# CMake scripts
|
|
!cmake/*
|
|
!cmake/toolchains/*
|
|
.mcp.json
|
|
.claude/
|
|
|
|
# Dashboard icon cache
|
|
dDashboardServer/icon_cache/
|
|
dashboard_jwt_secret
|
|
dashboard_oauth2_token.json
|
|
|
|
# CodeGraphContext generated report — regenerable, not committed (run `cgc report`).
|
|
CGC_REPORT.md
|
|
__pycache__/
|
|
*.pyc
|
|
|
|
# Packet captures, bundles and fixtures are player data: never committed (docs/CaptureReplay.md)
|
|
captures/
|
|
*.bundle
|
|
tests/fixtures-local/
|