ID:2083721
 
Resolved
Logging in as a guest caused unexpected disconnects in some cases.
BYOND Version:510.1341
Operating System:Windows 7 Ultimate 64-bit
Web Browser:Chrome 50.0.2661.102
Applies to:Dream Daemon
Status: Resolved (510.1344)

This issue has been resolved.
Descriptive Problem Summary:

Guest keys do not authenticate properly on any machine that does not have BYOND installed, or any machine where BYOND is installed but the pager is not actively signed into a key. Sort of defeats the purpose of guest keys, don't it?

This issue has been reported dozens of times over the last few years, but nobody's found the cause. I think I've narrowed it down to a specific thing that's going wrong and found an exact way to reproduce it.

Anyway, this is a showstopper for Epoch's multiplayer because we need authentication for proper steam DRM and simultaneously because we need guest keys as both hosts and players, as... Well, you know, Steam.

Numbered Steps to Reproduce Problem:

1) Sign into your key. Open a DMB and start hosting.

2) Sign out of your key. Connect to the world via a guest key.

3) Move around, do whatever for a while. The guest key will "time out" instantly after a short bit. This is due to an authentication failure.


Instant timeout:

1) Sign out of your key. Open a DMB.

2) Sign into your key. Open the DMB. Start hosting.

3) Jump over to the guest key that's in single-player mode. link() or .url the DreamSeeker client to the hosted world being hosted off of the key.

4 (optional)) Play for hours. You will not disconnect. Shit's stable.

5) Sign out of the pager. Watch as the guest key instantly disconnects from the server due to a "timed out" message.


When does the problem NOT occur?

As long as you have a pager logged in to the BYOND account that is the world's host.

Workarounds:

Set client.authenticate to 0. Obviously this is undesirable.
Wish you'd found this case a lot earlier today; there's a chance the fix would have made it into 1342. I'll make this first priority for Monday.
It's fine. At least I found the workaround.

Thanks for cluing me into it being authentication related. It really helped me look in the right places.
Does the guest login require that you use the external IP to connect, or can you get this to happen with local connections too?

[edit]
Never mind, I found it. I was able to reproduce it with a remote login only.
Lummox JR resolved issue with message:
Logging in as a guest caused unexpected disconnects in some cases.