Fixed the gui bug. Finally.

After some reading, it turns the issue was that I didn't open the
container on the server as the code to open it serverside was executed
on the client and the server was never notified. Now, I'm sending a
gui-open-request to the server, which then opens the container and sends
the data to the client to open it there. There is, however, potential
for abuse if the request packet is forged with a different Username by
an abnormally modified client, which would be annoying. I'm ignoring
that issue for now, however.