RexSystem1 voteoriginally by @PhrolovaMoe on GitHub1 reply
Discord just opens a unix domain socket (or multiple, 0-9) at $XDG_RUNTIME_DIR, which apps that have RPC support hook into. each message is a header (opcode as uint32LE + length as uint32LE) followed by a JSON payload. on top of this, Discord on Linux periodically scans /proc for processes and matches them against a database for automatic matching
the opcodes are: 0 for handshake, 1 for frame (for setting activity, etc.), 2 for close, 3 for ping, and 4 for pong
for maximum compatibility, we probably want to mimic what Discord does with its unix sockets, but this would prevent you from using Fluxer and Discord at the same time
here's an example:
RexSystem1 voteoriginally by @Dontknow09 on GitHub
Why would mimicking Discord’s IPC necessarily prevent simultaneous usage? Couldn’t you namespace the socket instead of reusing discord-ipc-0?
Because using the same sockets as discord can ensure backwards compatibility with older games that will never add fluxer specific rpc.
for maximum compatibility, we probably want to mimic what Discord does with its unix sockets, but this would prevent you from using Fluxer and Discord at the same time
sorry if I know little about this but, can't we just intercept or read from the same socket as discord?
Thread
Comment by @PhrolovaMoe
$XDG_RUNTIME_DIR, which apps that have RPC support hook into. each message is a header (opcode asuint32LE+ length asuint32LE) followed by a JSON payload. on top of this, Discord on Linux periodically scans/procfor processes and matches them against a database for automatic matching the opcodes are:0for handshake,1for frame (for setting activity, etc.),2for close,3for ping, and4for pong for maximum compatibility, we probably want to mimic what Discord does with its unix sockets, but this would prevent you from using Fluxer and Discord at the same time here's an example:Comment by @Dontknow09