How fau-1o/artnet2roblox works
This is a real-time Art-Net-to-Roblox DMX bridge. DMX software sends Art-Net over UDP to the desktop client, which receives and forwards DMX data over WebSocket; the local server normalizes and buffers it, then exposes current and polling data for the in-game Roblox script to apply to supported game lighting and objects. The README documents those major stages and capabilities. Server and client excerpts are partial, and the Roblox script was not sampled, so the graph avoids asserting its internal implementation or unverified calls.
Main entry points: server.py Bridge server · Roblox_Script.lua Roblox DMX script · artnet2WSS.py Art-Net receiver
Components 12
DMX input
- Art-Net receiver
artnet2WSS.py - DMX buffer
artnet2WSS.py
Local bridge
- WebSocket client
artnet2WSS.py - Bridge server
server.py - Message processor
server.py - DMX state and buffers
server.py - Subscriber broadcast
server.py - State and polling API
server.py
Roblox output
- Roblox DMX script
Roblox_Script.lua
Other components
- DMX software
- Operator
- Supported Roblox game
Connections 14
- DMX software → Art-Net receiver: sends Art-Net
- Operator → Art-Net receiver: configures input
- Art-Net receiver → DMX buffer: updates channels
- DMX buffer → WebSocket client: forwards DMX
- Operator → WebSocket client: sets username
- WebSocket client → Bridge server: connects and sends
- Bridge server → Message processor: dispatches messages
- Message processor → DMX state and buffers: updates state and frames
- Message processor → Subscriber broadcast: schedules broadcast
- Subscriber broadcast → DMX state and buffers: reads current state
- State and polling API → DMX state and buffers: reads state and frames
- Roblox DMX script → Bridge server: requests polling data
- Bridge server → Roblox DMX script: serves DMX data
- Roblox DMX script → Supported Roblox game: controls lighting and objects