I followed this guide here:

I created a brand new game. I forwarded the proper ports (UDP + TCP), I published my game, my firewall approves of byond, Dream Daemon says that the port can be reached by players when it starts. I put my hub password and name inside the proper file, and when I look at my published game's page, it says that it can be joined.

My code, minus the private information, is on github and can be downloadable. I can connect normally if I press the yellow join button in Dream Daemon or if I enter my local IP (byond:// in the browser. I cannot connect, however, if use my external IP.

The weird thing is that it shows that players have connected to the server, but of course aren't actually connected (greyed out names).

Is there something I'm missing? A configuration option, perhaps? I don't know if it is code related or just "me" related so I apologize if this is in the wrong section.
Additional Information:

I have used canyouseeme and changed my ports to 1235 just in case, and it the website says it can see me. Still, I or others cannot connect.

I figured it out. I did not properly package the files correctly it seems in the HUB.
To salvage this thread, is there a way for players to connect and automatically download the resources they require WITHOUT me having to upload the resources to BYOND?
Yes, if you don't upload them to byond you can just set client/preload_rsc to 1 (has to be the compile time value)
preload_rsc = 1

you can set it to 2 to have it also preload certain resource files that get generated or uploaded while the server's running.
Also your previous issues might have been from your router.

Most consumer routers can't handle redirecting your internet ip back to your machine, so you can never connect to a service on your network thats running while on the same network unless you use the local ip.

I think it was my router. Other players seemed to be able to connect after I set preload_rsc to 1. Thank you.