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
















Sunday, April 30, 2017

My life and what's up with this?!?

Holy cow, it's been 6 months already since my last post on this blog!?! Time seems to be flying by faster the older I get. I turned 30 on march 14 and I still feel like I'm 20 but with a lot of wisdom experience points built up.

I may have done a little pixel art throughout the winter and no dusk scripting for my demo game unfortunately. Sorry dusk isn't online but I need to wrap up a bunch of unfinished quests to make it playable. I know there's fans of the old game who'd like to see it online again. Running the game locally takes some computer savvy and it isn't nearly as fun offline.  What makes dusk fun is forming your own clan with friends you make in-game and the clans compete over ownership of the castles because being part of a clan that owns a castle has it's benefits.

So basically what I am thinking about is a story mode part of the game like the SNES JRPG games with puzzles, quests, and a storyline where your the hero that saves the world, right? That's always fun in JRPG's but in dusk the story mode you have to do solo. That way the game will be interesting if there's nobody else online.

I'd like to have both the beginning story mode part of the game and one castle's worth of gameplay scripted/polished up before I ask my buddy Andy Weaver to throw it online. It's been awhile since I talked to him but I think he's still willing to host.

Anyways, I have the beginning story mode quests mostly scripted but nothing of the first castle scripted. I haven't done much with this hobby in the last couple years as life gets very busy. I have so many hobbies so little time...

If anyone that reads this is interested in getting to know me better I've started uploading videos to my youtube channel showing some things I do for fun.

Monday, November 14, 2016

Yep I'm still alive.  Working 40 hours a week washing dishes at Panera Bread doesn't leave much extra time for hobbies.  I haven't done any pixel art or Dusk scripting in like forever.

I also picked up another hobby (metal detecting) recently as a way to enjoy the outdoors.

Curious what I've found with it?  Well, I post my best finds on the whites electronics forum so here's a couple links to where I've posted so far.  http://forums.whiteselectronics.com/showthread.php?76431-New-treasure-hunter-finds-his-first-gold-ring

and a couple days ago I found this one http://forums.whiteselectronics.com/showthread.php?76605-Recent-treasures-and-Gold-ring-with-Diamonds!!-0-o

I may start filming my finds live and post on youtube some live digs.

Soon the ground will be frozen and I'll be indoors a lot more and I hope to play with this hobby more at that time.

Saturday, June 4, 2016

Demo of the WIP art assets

Yesterday I spent a few hours mapping with some of the art I've been slowly tinkering on.

I've been lazy working on my Dusk demo game.  Instead I've been poking a little here and there doing pixel art and looking for cool music on the Internet.

This pixel art is mainly still WIP but I think I have some stuff finished so I'll start making that available on OGA when I get around to it.

I also made a WIP topic on OGA so the good old boys there can see what I'm up to.


Tuesday, April 26, 2016

My music playlist

I joined Soundcloud and made a few songs available there that I managed to find on youtube.  Songs from one of my favorite movies growing up (still is) called Weekend at Bernie's and Weekend at Bernie's II.  I was born in Florida on a island and those movies are filmed in a similar islander environment so it brings me back to my childhood.  I shouldn't have any troubles uploading those songs because they were available on youtube first, right?  They are so rare to find it's a shame to let them RIP.  I want to share the love!

If I ever decide to try my hand at mixing music (with LMMS) I'll be sure to post it there.

I've been organizing a playlist here for my own convenience but to also share with my buddies.  If you don't like the same music as me, well then the hell with ya!  Just kidding.  The world is full of variety- that's why it's so beautiful and exciting.  I like all kinds of music.  That's just a small taste of what I listen to and is not limited to just that.  I'll keep adding to the list when I stumble upon something particularly cool.

*update 5-16-16* I found one of my favorite FF VII songs that is not on soundcloud (someone has a remix there) but I want to share the origional so here it is.  Under rotten pizza

Monday, March 28, 2016

Working on a pixel tree


I'm drawing my first pixel tree from scratch.  The other trees I've worked on before are derivatives of an existing tree.  I've got the outline of the trunk and foliage done.  Now comes the hard part of pixeling the details.  I'll keep posting my progress here so you can watch how I put it together and how it evolves into a completed piece.

*Update april 5th*  I got yesterday and today off work.  Spent yesterday pixelating this tree.  *Phew* it was alot of work!  Today I have to go for a bike ride and get out of the house.
I just got internet at the house a couple days ago so I haven't done any work on my Dusk game yet.

*Update april 6th*

Screenshot of Tiled on my Ubuntu 15.10 where's the damn Top Tool Bar???
Figured it out and feel a little embarrassed I over looked it because I asked for help on Tiled's IRC channel and wushin at https://www.themanaworld.org/ was nice enough to help me out.  New technology takes some time getting used to and I just installed the latest version of Linux Ubuntu a couple days ago.  They made the top tool bar invisible from the program's window and you only see it if you have the mouse hovering on the top of the screen.  Doh!  Silly me for over
looking these new features.

Tuesday, March 8, 2016

I'm still alive!

I've been gone for a couple years.  Life got in the way.  Unfortunate things happen.  I haven't gave up on this quest.  Never will until I feel I've accomplished what I set out to do.  I'll be updating this blog when I can but for now I should enjoy the nice day outside.

Monday, January 20, 2014

BFW water animation converted for 32x32 tilesets

Here's a quick post because I feel I've been neglecting my blog here and I am anxious to show a bit of what I've been working on.

This is BFW's (Battle for Wesnoth) water animation which was made (by Rhyging5) for a hexagonal tile-set that has a high over-world type view.  By recolorizing it using DB's32 the waves are more obvious which helps make it match the genre of games that use 32x32 tilesets.  All I did was re-colourized it and made it tile-able for 32x32.

I think this looks AWESOME!!!  You can see the water animating through the alpha bank nicely even though I threw that alpha blended bank together quickly. 

Check out the link in my last post if you want to see all of the massive amounts of re-colors I've been doing.

Okay I've gotta run and try to save my dad's life!  Peace-Zabin