ID:2728161
 
BYOND Version:514
Operating System:Windows 10 Enterprise 64-bit
Web Browser:Chrome 95.0.4638.54
Applies to:Webclient
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
Webclient gives the error "Connection broken by server (error code 9)" after loading. The skin seems to be loading properly though. On Chrome's console it shows an error 503 (see http://www.byond.com/forum/post/2561467). Doesn't seem to be a software error but rather an authentication error when it tries to communicate with BYOND servers to authenticate a ckey - seems to have appeared when cloudflare was added.

Numbered Steps to Reproduce Problem:
1. Launch any dmb using dreamdaemon, making sure the webclient option is active.
2. Try to connect using byond.com or localhost:port/play

Code Snippet (if applicable) to Reproduce Problem:


Expected Results:
Webclient should work

Actual Results:
Doesn't load properly (errors 9 and 503)

Does the problem occur:
Every time? Or how often? Yes
In other games? Yes
In other user accounts? Yes
On other computers? Yes

When does the problem NOT occur?
Always occurs.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Before 513 it used to work on any version. Although I don't think its version related - but related to cloudflare.

Workarounds:
None
Also: using the webclient to connect to a locally hosted server works using BYOND's website and localhost, e.g. http://www.byond.com/play/127.0.0.1:1715. But it MUST be http://, not https://

Trying to connect to a remove server, e.g. http://www.byond.com/play/IP:PORT, fails with error 503

However, if you try to connect using http://127.0.0.1:1715/play, it fails with "Connection broken by server (error code 9)".

DreamDaemon works fine on both cases.
The webclient has been in limbo for some time so this could well be version-related. The webclient code needs to be updated to handle some changes to the messaging, but the bigger issue issue is that its whole rendering setup needs to be completely reworked.
In response to Lummox JR
Yes, I'm aware that it needs a lot of improvement, but it seems that the error that's preventing it from launching at all is an authentication error when communicating with the website which shouldn't be that difficult to solve?



That would make it at least playable (and testable). Would be VERY useful for those of us who don't have access to a windows machine.
Testing the webclient on localhost is becoming more difficult. To do so, I must first disable the following flag:
about://flags#block-insecure-private-network-requests

Then I have to open the BYOND home page: http://www.byond.com/, let Cloudflare run a browser check, then immediately open my game's webclient link and try to connect. This allows it to fully connect, but once the browser check expires, I have to open the BYOND home page again to "renew" it.

I think the webclient needs Cloudflare cookies to function, on the current site, but said cookies are only generated when navigating to the BYOND home page itself.

Related links:
https://web.dev/cors-rfc1918-feedback/
https://developer.chrome.com/blog/ private-network-access-update/