The aim of this project is develop a WebRTC screenshare designed for streaming video games and
accepting remote inputs.
There will be ansible instructions which can be executed inside into any virtual environment. This will
be a plugin which complements the project P2PRC
Testing with X-Plane 11
Based on the fork: https://github.com/Akilan1999/laplace/tree/keyboard_mouse
Currently, you can use Barrier KVM.
Barrier is software that mimics the functionality of a KVM switch, which historically would allow you to use a single keyboard and mouse to control multiple computers by physically turning a dial on the box to switch the machine you're controlling at any given moment. Barrier does this in software, allowing you to tell it which machine to control by moving your mouse to the edge of the screen, or by using a keypress to switch focus to a different system.
Platform | Build Status |
---|---|
Linux | |
Mac | |
Windows Debug | |
Windows Release | |
Snap |
# Install golang
# https://go.dev/doc/install
# Build
go build .
# Configure (run only once)
./remotegaming -setconfig
# Migrate (run only once)
./remotegaming -Migrate
# The following are OR Based instruction.
# You could start the server in either of
# of the modes. (run every time you
# would want to start a server)
# Setting up based on the generated config
# open config.json
{
"SystemUsername": "<auto-set>",
"BarrierHostName": "<auto-set>",
"Rooms": "<auto-set>",
"IPAddress": "<auto-set>",
"ScriptToExecute": "",
"SSHPassword": "",
"NATEscapeGameServerPort": "<auto-set>",
"NATEscapeScreenSharePort": "<auto-set>",
"NATEscapeBarrierPort": "",
"BackendURL": "<auto-set> or set to a gameserver externally hosted",
"BrowserCommand": "Requires the user to setup the command that triggers the browser from the Terminal or Command line",
"Rate": 0,
"ScreenName": "Entire screen (The default point) or add custom screename or tab",
"InternalGameServerPort": "8088",
"InternalScreenSharePort": "8888"
}
## Both Servers
## Starts the remote gaming screenshare server and the gameserver
./remotegaming -BothServers
## Start only game server
./remotegaming -GameServer
## Start only screenshare
./remotegaming -tls -headless
This requires creating a bash script to trigger when the screenshare begins.
Let's call this script xplane11.sh
# Navigating to the directory where X-Plane11 is present
cd /path/.local/share/Steam/steamapps/common/X-Plane\ 11/
# Execute X-Plane 11 binary
./X-Plane-x86_64
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.