Godot 4.0 broke web exports without a webpage having certain headers(over my head content), but sites like itch have those things. I believe the explanation was because of having mulit-threaded support in the engine.
I have held off upgrading from 3.5 because my games I publish on my simple github page and that change on 4.0 would not work on my github page.
There was rumor of providing a single threaded web mode in future releases(4.1 was mentioned), but don’t know if this happened. I check release notes every few months but haven’t seen if this change has been made.
Are web exports fixed for godot now?
They aren’t sadly, it’s not clear when they’ll be fixed.
Thanks. I’ll stick to 3.5 and check back in a few months.
I’ve managed to get it going in a local Apache server by looking up the issues on Stack Exchange and altering config files. You can mostly blame new browser standards for this, it wasn’t as complicated for Godot 3.
Python -m http.server just isn’t enough now.
Could you point me to the post that helped you.
Sure, sorry this isn’t more of a walkthrough.
That got me going for accessing through localhost. However, I still haven’t gotten it to work via IP even over my LAN; that’s hardly saying that it’s impossible, but it’s been a while since I extensively finicked with Apache.
Hey, one more thing. Apparently they got a Python script in the repo that will create a functioning local server for you. it’s linked here.
So, it seems Python still can start a server! It’s just got a little more to worry about.
The way this works is by creating a secure context through a service worker running in the background, which allows Godot to use SharedArrayBuffer to communicate between Threads etc.
Which means you don’t have to have the headers if you can’t configure them for your hoster (although if you can that’s still preferable as there is probably some JS overhead at least when loading the page with this).
I have managed to deploy my game to Gitlab Pages through the use of the godot-coi-serviceworker addon from the Godot addons library. Should probably work as well for GitHub.
The way this works is by creating a secure context through a service worker running in the background, which allows Godot to use SharedArrayBuffer to communicate between Threads etc.
Which means you don’t have to have the headers if you can’t configure them for your hoster (although if you can that’s still preferable as there is probably some JS overhead at least when loading the page with this).
As an addendum, for those who know that they’re going to export their game to a Godot-ready server, but want to test locally, I suggest the “Remote Debug” button right next to the stop button, after exporting. It looks like a computer monitor but all Apple-logo’d up, if you know what I mean. One of the options is “Run in Browser”, which works pretty consistently; after running it once, it apparently keeps a local HTTP server up and running too, as the “Stop HTTP Server” option appears.
I don’t honestly know exactly what it’s doing differently yet, but this is a great way to test out browser performance for a game before going live with it.