Leaves One

Alan Richard's Blog

ScreenMirroring - Casting Your Screen to Minecraft Server

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):

Slideshow

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.

Demo

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