The virtual university set up by my collaborator is about to start its first semester, but I found EusReader (the plugin I was working on for displaying documents in Minecraft) is too complex to be completed on time. Even though I was told it is okay that they use conventional image-on-map plugin to play slides, I found another way to achieve the same goal but both efficiently and effectively – by mirroring desktops. So I decided to make it possible.
I chose to stream the local screen to remote server via UDP, and it turned out to be working superbly.
This is demo of casting slides to the two screens in the Eucalyptus Leaves’s church (image was intentionally blurred for privacy concern):
By the way, the size of the screen is customizable, and the screen mirroring experience is far beyond expected – it’s smooth, with low latency for showing slides.
The following is the animated demo of screen mirroring.
EusScreenMirroring plugin is still working in progress. Essential function such as fail2ban has not been implemented. This is currently not intented to be used in production.
The plugin, as well as a simple client, is open-sourced at: https://github.com/richardhyy/EusScreenMirroring
Plugin Description
Commands
Command | Description | Permission |
---|---|---|
/screenmirroring create [width: default=4] [height: default=3] | Create a new Screen Mirror | screenmirroring.user |
/screenmirroring get <ID> [PlayerName] [column(x)] [line(y)] | Get MapView for Mirror with specified ID | screenmirroring.user |
/screenmirroring list | List all Mirrors created by executor with connection passcode | screenmirroring.user |
/screenmirroring connection | Get the server’s connection information, i.e. UDP port | screenmirroring.user |
Permissions
screenmirroring.user
: Default for OPs for basic screen mirroring commands