Saturday, November 15, 2025

Dusk is Now Online! A New, Secure Way to Play

Hello Dusk fans!

I'm thrilled to announce that the world of Dusk is now online and ready for you to explore! You can jump right into the game by visiting our new game portal at dusk-comet.vercel.app.

A New Era for Dusk: Secure and Seamless Gameplay

Bringing a classic game like Dusk back online has been a passion project, and I wanted to do it in a way that is both modern and secure. To achieve this, we've implemented some exciting new technology that I'd like to share with you.

We're using a fantastic tool called Cheerpj to run the original Dusk client right in your web browser. This means you don't need to download or install anything to play. It's the classic Dusk experience you love, now more accessible than ever.

For connecting to the game server, we're using Tailscale, a cutting-edge networking tool that creates a secure, private network over the internet. When you play Dusk, you're not connecting to a public server in the traditional sense. Instead, Tailscale creates a secure, encrypted tunnel directly between your browser and the game server. This is a huge step forward in making sure your gameplay is safe and private.

Furthermore, as part of bringing Dusk onto this modern platform, we’ve taken the opportunity to improve the integrity and security of the game itself. Veteran players might recall the old 'God player' accounts. To ensure a fair and secure experience for everyone, this powerful and frankly dangerous legacy code has been completely removed. This was the only significant security concern we found from the original game, and addressing it means a more balanced and safe world for all players.

What this means for you:

  • Easy to Play: Just visit dusk-comet.vercel.app and the game will load in your browser.
  • Safe and Secure: Your connection is protected by Tailscale, and the old game exploits have been patched out.
  • A Fair and Classic Experience: This is the same Dusk you remember, but now with a level playing field for everyone, powered by modern technology for a smooth and reliable adventure.

Join Us in the World of Dusk!

I'm incredibly excited to see players return to the world of Dusk. Your support and enthusiasm are what make this all worthwhile. Please head over to the game portal, create your character, and start your adventure!

If you have any feedback or run into any issues, please don't hesitate to reach out. This is just the beginning, and I'll be working hard to improve the game and add new content.

See you in Dusk!

-Jules 

*** Zach***: Jules AI wrote this blog update. Sounds good to me and explains the game well enough. The game is still under construction and my hosting scenario can be improved upon. I'll try to keep the server up, but expect down times when I'm working on finishing the game. The only bug still present in the game is a hang up during audio loading. Just clicking the "sleep" and "wake" will get you past that bug. 

Things to look forward to in future updates:

1. Magic spell particle effects.

2. Ability to create your own clan and finish the clan castle.

3. Finish main game quest to save the world and retire in peace!

Take care, cya in Dusk! 

Zach 







Thursday, June 19, 2025

Dusk Comet-Richter is online!

*Update 7/11* I have one more security detail to implement. Here's a link to the info. https://major.io/p/secure-tailscale-networks-with-firewalld/   This looks easy to follow but I am busy building my house. Expect Dusk online maybe around the end of the year. That will give me time to finish the castle for clans. This gives players a reason to start clans and battle over ownership of the castle (to get the perks of powerful mages who reside there). 

Play here: https://dusk.comet-richter.ts.net/client.html

Or Click the link to the right. Play Dusk with Cheerpj

Note from Tom: Anyone who wishes to is welcome to use and modify this source code to their liking, the full license is provided within the source. The main version of this code will be kept on this page, so we ask that if you make any changes that you think will be useful that you e-mail them to Zach at xyphoidzabin@gmail.com. Any code posted here is the copyright of Tom Weingarten, however he makes no claims as to the safety, reliability, or even functionality of the code. In other words: Use at your own risk.

Since I improved the walking animation code I feel like I should give a warning. Don't play this game if you have a history of seizers from playing video games.

"WARNING: This game may potentially trigger seizures for people with photosensitive epilepsy. Viewer discretion is advised."

Sunday, June 8, 2025

How to host your own Dusk Server with Cheerpj and Tailscale.

*Update 6-19* It's working! I've updated these instructions. I'll try and keep my server up for you to play. So go ahead and playtest. There are still errors to fix, probably for Cheerpj but native too. The world is still under construction. I plan on finishing it up this year at least by winter. I believe I set this up properly and I'm safe from hackers. This is awesome! Tailscale hides your IP address from me too so your safe but that prevents the "bannedIP" feature from working. 

I thought I'd do a write up on how to setup your own server.

1. Download https://github.com/ZabinX/DuskRPG go to (code) click "Download ZIP".

2. Install Tailscale https://tailscale.com/ Go into "machines" and click "..." change the machine name to something like "dusk". Then go into "DNS" tab and use the random name generator to get a better Tailnet name. Generate a authentication key like this. Go to "settings" tab, then "keys", then "generate auth key...", then click button for "use this key to authenticate more than one device", and then finally "generate key". Put the key in "client.html" in the /DuskCheerpj/wwwClient directory.

3. Edit the "prefs" file inside /DuskCheerpj/conf. Change 'dusk.comet-richter.ts.net" to "yourmachine.yourTailnet.ts.net". 

4. Install Java 8 (I'm using 17 and it works) and start the server like this. Command prompt: 

cd C:\Users\drago\Documents\DuskCheerpj

java -jar Duskserver.jar

5. Put the client on a http server: Command prompt: 

cd C:\Users\drago\Documents\DuskCheerpj\wwwClient

http-server -p 8080

6. Now funnel the client to the internet and serve the Dusk server port to your Tailnet. Administrator command prompt: 

tailscale funnel --bg 8080 

tailscale serve --tcp=2222 tcp://localhost:7474

7. Go to your new website and click "client.html" to start the game. Connect to server using your Tailnet IPv4 address and port 2222.

That's it! Pretty easy. Here's couple pics from my Android phone. I will have to fix the GUI layout for mobile a little but that's easy. I tried playing on the phone and couldn't barely walk. This can be fixed with some arrow buttons.





Wednesday, May 28, 2025

Dusk and Cheerpj test?

I got the server and client working with Cheerpj and Tailscale enough to create a player and almost load the map but it disconnects from error loading player. So not working yet but is pretty cool to see that much happening on my android phone.

I don't know if Cheerpj can handle the Dusk script.java which generates these ".dsko" compiled files. That could be causing these errors. Here's link to the java for running DuskServerCheerpj. 

https://github.com/ZabinX/DuskRPG/tree/master/DuskFiles/DuskServerSource

https://github.com/ZabinX/DuskRPG/blob/master/DuskFiles/DuskServerSource/Script.java 

**Update** It's in read only mode. The fix is "library mode" which will copy the files into the virtual IndexedDB directory, which is read/write. This takes some JavaScript combined with Java libraries.

Friday, May 16, 2025

Dusk + Cheerpj = revived?

Hey again, :)

I've almost finished the demo world! Pixel art is all sourced from OpenGameArt, craftpix.net, and Jetrel gets huge thanks for his tree. I felt motivated to work on Dusk again when I saw this new tech to convert Java to JavaScript called Cheerpj. Dusk can possibly be revived! I think the performance may be fine.

I need help with this Cheerpj conversion. I'll post in their discord and maybe somebody can help or give advice what I need to do. 

I believe both client and server need to run through Cheerpj but I'm not 100% sure how to proceed. I'm like a 2/10 in Java, 0/10 in JavaScript, and 9/10 in coding DuskScript. Here's the links to my Cheerpj tests.


Here's source code.

Please forgive my nearly 200MB Dusk collection. There are a couple old game worlds in there. I will clean it up and finish licensing art.

I think I need a little JavaScript help, make changes in Java to find the file locations and maybe even a native call to Java_Bridge_Websocket for the server? To avoid using TailScale. I'm guessing here, I read all the docs and there's not enough examples for me, but this is fancy new tech still in development. Here's a pic of Dusk client in browser using Cheerpj.



If you have noticed I redone the GUI with swing components. I managed to do this by digging through the wayback machine. I found the sources https://web.archive.org/web/20010617163439/http://dusk.wesowin.org/ and merged them with the fork I had. This fixed some bugs, and I also merged some code from NotZed's fork to improve the walking animation. I've added buttons for potions, spells, and settings. I'm still improving the GUI and will probably change size to better fit into browser if Cheerpj can do it.

If you have Java installed u can play offline.
Run server with java -cp . DuskServer or java -jar Duskserver.jar
Double click the client in (www)
Click connect: 127.0.0.1 port 7474. Connect and create a player.

Take care, bye -Zach