|
37772
|
Boeing 777 Nose Landing Gear by @trivid_vs | Stard Boeing 777 Nose Landing Gear by @trivid_vs | Stardance...
|
trivid_vs
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Boeing 777 Nose Landing Gear by @trivid_vs Title: Boeing 777 Nose Landing Gear by @trivid_vs | Stardance...
|
1793433076.6528811
|
1794037876.6528811
|
|
37058
|
My own site! by @tristanwaller9 | Stardance
|
tristanwaller9
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @tristanwaller9 | Stardance
|
1793144860.8779886
|
1793749660.8779886
|
|
3059
|
In ear monitors by @tristantrang | Stardance
|
tristantrang
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: In ear monitors by @tristantrang | Stardanc Title: In ear monitors by @tristantrang | Stardance...
|
1793382734.1990902
|
1793987534.1990902
|
|
61736
|
A turbine by @tristanlikesbala | Stardance
|
tristanlikesbala
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: A turbine by @tristanlikesbala | Stardance
|
1793040814.876183
|
1793645614.876183
|
|
17263
|
ShuttleAI by @tristandevs | Stardance
|
tristandevs
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ShuttleAI by @tristandevs | Stardance
|
1793307449.5127327
|
1793912249.5127327
|
|
9973
|
My awesome macropad! by @tristanclai | Stardance
|
tristanclai
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @tristanclai | Star Title: My awesome macropad! by @tristanclai | Stardance...
|
1793238474.7569473
|
1793843274.7569473
|
|
47637
|
game time by @tristanclai | Stardance
|
tristanclai
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: game time by @tristanclai | Stardance
|
1793188475.2247918
|
1793793275.2247918
|
|
34439
|
Brainfuck Compiler by @tristan829 | Stardance
|
tristan829
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Brainfuck Compiler by @tristan829 | Stardan Title: Brainfuck Compiler by @tristan829 | Stardance...
|
1793152461.4570508
|
1793757261.4570508
|
|
54531
|
tabeltop pinball by @tristan2 | Stardance
|
tristan2
|
0
|
9.74
|
0
|
[]
|
[{"post_id": 76348, "ts": "202 [{"post_id": 76348, "ts": "2026-10-03T08:19:36Z", "hours": 3.4853, "text": "Finnished the first desing of the bumber!! I just finnished the first version of the buber. there will be 3 in the machine. A bumber is the round thing were the bal bounces between."}, {"post_id": 71297, "ts": "2026-09-20T16:13:57Z", "hours": 2.0186, "text": "The flipper is finished!!! I finaly made the flipper work by adding a cutout so the flipper can’t rotate loose frome the mechanisme. Next on the list are the poppers."}, {"post_id": 65520, "ts": "2026-09-10T18:31:44Z", "hours": 1.4842, "text": "Added a bearing to fix the flipper from getting stuck. During testing of my flipper i noticed it tipped en moved causing it to lock up. So i added a bearing to stop it from moving and make it turn easy. First test looks grate just fixing the position of the solenoid."}, {"post_id": 57288, "ts": "2026-08-29T12:10:49Z", "hours": 1.5183, "text": "The first version of the flipper works! I added 2 washers to level the flipper so it deosn’t lock up. The speed is stil a bit slow. Im thinking to use a lever desing to fix this. If somebody got an other idea pls let me know."}, {"post_id": 55416, "ts": "2026-08-27T07:06:35Z", "hours": 1.2358, "text": "First test of the flipper. The first test faild, the flipper gets stuck. So still more work to do."}]...
|
Title: tabeltop pinball by @tristan2 | Stardance
Title: tabeltop pinball by @tristan2 | Stardance
Devlogs:
First test of the flipper. The first test faild, the flipper gets stuck. So still more work to do.
The first version of the flipper works! I added 2 washers to level the flipper so it deosn’t lock up. The speed is stil a bit slow. Im thinking to use a lever desing to fix this. If somebody got an other idea pls let me know.
Added a bearing to fix the flipper from getting stuck. During testing of my flipper i noticed it tipped en moved causing it to lock up. So i added a bearing to stop it from moving and make it turn easy. First test looks grate just fixing the position of the solenoid.
The flipper is finished!!! I finaly made the flipper work by adding a cutout so the flipper can’t rotate loose frome the mechanisme. Next on the list are the poppers.
Finnished the first desing of the bumber!! I just finnished the first version of the buber. there will be 3 in the machine. A bumber is the round thing were the bal bounces between....
|
1793544890.3484254
|
1794149690.3484254
|
|
4658
|
Untitled project by @trishika | Stardance
|
trishika
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @trishika | Stardance
|
1793249580.78864
|
1793854380.78864
|
|
21993
|
Electronics Hub by @trisha_singh | Stardance
|
trisha_singh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Electronics Hub by @trisha_singh | Stardanc Title: Electronics Hub by @trisha_singh | Stardance...
|
1793465721.013177
|
1794070521.013177
|
|
23334
|
Untitled project by @triquant | Stardance
|
triquant
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @triquant | Stardance
|
1792803258.35544
|
1793408058.35544
|
|
54165
|
My own site! by @triptika | Stardance
|
triptika
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @triptika | Stardance
|
1793526489.9618366
|
1794131289.9618366
|
|
62990
|
My awesome macropad! by @trippmoore10 | Stardance
|
trippmoore10
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @trippmoore10 | Sta Title: My awesome macropad! by @trippmoore10 | Stardance...
|
1793047947.406813
|
1793652747.406813
|
|
19172
|
My first slack bot! by @tripletuong | Stardance
|
tripletuong
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @tripletuong | Stard Title: My first slack bot! by @tripletuong | Stardance...
|
1793418796.1689966
|
1794023596.1689966
|
|
32020
|
My awesome macropad! by @triple-colons | Stardance
|
triple-colons
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @triple-colons | St Title: My awesome macropad! by @triple-colons | Stardance...
|
1793249551.1661956
|
1793854351.1661956
|
|
32022
|
TungstenScore by @triple-colons | Stardance
|
triple-colons
|
1
|
12.0
|
138
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T11:57:36Z", "hours": 12.0, "multiplier": 11.09, "payout": 138, "blessing": "neutral", "text": "TungstenScore (v0.5.1) TungstenScore is a lightweight, open-source security assessment tool for Windows. It checks important Windows security settings and gives your system a security score, making it easier to understand how well your PC is protected and what could be improved. One of the hardest parts of building TungstenScore was working with the Windows APIs and reading security-related information from the Windows Registry. Different security features expose their state in different ways, so figuring out how to reliably retrieve and interpret that information was one of the biggest challenges during development. What I’m most proud of, though, is the structure of the project. TungstenScore still has a relatively small set of features, but I focused on making its foundation small, solid, and extensible. New security checks and other features can be added without having to redesign the entire application. Building that solid foundation is probably the part of this project I’m most proud of. TungstenScore is still under development, and I plan to add more security checks and improve the scoring system over time. You can now try TungstenScore yourself! You can download a pre-built version from my website, or download the source code and build it yourself using Cargo. Language note: English is not my native language, and I’m not very confident writing in English yet. I originally wrote this devlog in Korean and used an AI tool to help translate it into English.", "repo": "https://github.com/dw1210/TungstenScore", "demo": "https://dw1210.github.io/TungstenScore-website/"}]...
|
[{"post_id": 64166, "ts": "202 [{"post_id": 64166, "ts": "2026-09-08T11:47:36Z", "hours": 0.3094, "text": "devlog #7 (v0.5.1) I fixed some bugs for my first release!"}, {"post_id": 46804, "ts": "2026-08-14T09:49:41Z", "hours": 3.4444, "text": "Devlog #6 (v0.5.0) [Project Summary] TungstenScore is a Windows security assessment tool built with Rust. It evaluates your Windows system’s security posture and generates an overall security score. [Project Plan] Add security checks a. Firewall (Done) b. UAC (Done) c. TPM 2.0 (Added Today!) d. System integrity e. Hidden accounts f. Disk encryption g. etc. Add an auto-fix feature Add a GUI And more… [What I Did] I decided to remove the Windows version check from the roadmap because I couldn’t find a reliable way to retrieve the latest update info locally. I also don’t want the app to connect to the internet, as users might prefer an offline tool and maintaining a dedicated version API server would add extra overhead. Today, I added the TPM 2.0 check. It took a while to implement because this check requires admin privileges. I had to investigate what was causing the permission errors and figure out how to handle them gracefully. As a solution, I added an option to relaunch the app as administrator: If you type “Y”, the program will restart with admin privileges. If you type “N”, the check will be marked as “Requires administrator privileges” and excluded from the scan score (as shown in the attached screenshot). [Next Version Plan] I’ll be adding a check for hidden accounts. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/"}, {"post_id": 34533, "ts": "2026-07-25T10:21:33Z", "hours": 2.4397, "text": "Devlog #5 (v0.4.0) [Project Summary] ‘TungstenScore’ is a Windows security assessment tool built with Rust. It evaluates your Windows system security and generates an overall security score. [Project Plan] (No changes today) 1.Add security checks a. Firewall (Done) b. UAC (Done) c. Windows version d. Hidden accounts e. Etc. 2.Add an auto-fix feature 3.Add a GUI 4.And more… [What I Did] I refactored the code structure! It was a bit challenging, but I’ve separated the codebase into multiple files, as shown in the attached screenshot. I decided not to release version 0.4.0 yet since there aren’t any major feature updates. Additionally, I fixed some typos. [Next Version Plan] I’ll add a check for hidden accounts. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/"}, {"post_id": 33911, "ts": "2026-07-24T06:32:03Z", "hours": 0.9403, "text": "Devlog #4 (v0.3.0) [Project Summary] ‘TungstenScore’ is a Windows security assessment tool built with Rust. It checks your Windows system security and generates an overall security score. [Project Plan] Add security checks a. Firewall (Added today) b. UAC (Done) c. Windows version d. Hidden accounts e. Etc. Add an auto-fix feature Add a GUI And more… [What I Did] I finally managed to build the Firewall checker! It reads directly from the Windows Registry. Since I worked on a different computer that didn’t have Hackatime installed, my development time was only partially logged. [Next Version Plan] In the next release, I’ll fix some typos (my English isn’t great yet! 😅) and refactor the code structure for better maintainability. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/"}, {"post_id": 28289, "ts": "2026-07-14T13:31:54Z", "hours": 0.8381, "text": "Devlog #3 I made the TungstenScore website! https://dw1210.github.io/TungstenScore-website/"}, {"post_id": 27017, "ts": "2026-07-12T04:57:02Z", "hours": 3.1203, "text": "Devlog #2 (v0.2.0) [Project summary] ‘TungstenScore’ is a Windows security assessment tool written in Rust. This app checks the security of your Windows computer and scores it. [Project plan] Add some checks a. Firewall b.»UAC« - I made this today. c.Windows version d.Etc 2.Add an auto-fix feature 3.Add GUI 4.And more… [What I did] Initially, I attempted to add a Windows version checker but ran into issues. I’m going to find a new way to make this later. So, I made UAC checker and score system today! [Next version plan] In the next version, I’m going to make a Windows version checker and a companion website for the project! [Repo link] https://github.com/dw1210/TungstenScore"}, {"post_id": 26531, "ts": "2026-07-11T12:12:39Z", "hours": 1.315, "text": "Devlog #1 (v0.1.0) Today, I started building TungstenScore, a Windows security assessment tool written in Rust. This app checks the security of your Windows computer and scores it. [Project plan] Add some checks a.Firewall b.UAC c.Windows version d.Etc. Add an auto-fix feature Add GUI And more… [What I did] I created a basic CLI structure, including the menu system and the ‘About’ screen. [What I’m going to do] In the next version, I will add some security checks, such as verifying the firewall status. [Repo link] https://github.com/dw1210/TungstenScore"}]...
|
Title: TungstenScore by @triple-colons | Stardance Title: TungstenScore by @triple-colons | Stardance
Devlogs:
Devlog #1 (v0.1.0) Today, I started building TungstenScore, a Windows security assessment tool written in Rust. This app checks the security of your Windows computer and scores it. [Project plan] Add some checks a.Firewall b.UAC c.Windows version d.Etc. Add an auto-fix feature Add GUI And more… [What I did] I created a basic CLI structure, including the menu system and the ‘About’ screen. [What I’m going to do] In the next version, I will add some security checks, such as verifying the firewall status. [Repo link] https://github.com/dw1210/TungstenScore
Devlog #2 (v0.2.0) [Project summary] ‘TungstenScore’ is a Windows security assessment tool written in Rust. This app checks the security of your Windows computer and scores it. [Project plan] Add some checks a. Firewall b.»UAC« - I made this today. c.Windows version d.Etc 2.Add an auto-fix feature 3.Add GUI 4.And more… [What I did] Initially, I attempted to add a Windows version checker but ran into issues. I’m going to find a new way to make this later. So, I made UAC checker and score system today! [Next version plan] In the next version, I’m going to make a Windows version checker and a companion website for the project! [Repo link] https://github.com/dw1210/TungstenScore
Devlog #3 I made the TungstenScore website! https://dw1210.github.io/TungstenScore-website/
Devlog #4 (v0.3.0) [Project Summary] ‘TungstenScore’ is a Windows security assessment tool built with Rust. It checks your Windows system security and generates an overall security score. [Project Plan] Add security checks a. Firewall (Added today) b. UAC (Done) c. Windows version d. Hidden accounts e. Etc. Add an auto-fix feature Add a GUI And more… [What I Did] I finally managed to build the Firewall checker! It reads directly from the Windows Registry. Since I worked on a different computer that didn’t have Hackatime installed, my development time was only partially logged. [Next Version Plan] In the next release, I’ll fix some typos (my English isn’t great yet! 😅) and refactor the code structure for better maintainability. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/
Devlog #5 (v0.4.0) [Project Summary] ‘TungstenScore’ is a Windows security assessment tool built with Rust. It evaluates your Windows system security and generates an overall security score. [Project Plan] (No changes today) 1.Add security checks a. Firewall (Done) b. UAC (Done) c. Windows version d. Hidden accounts e. Etc. 2.Add an auto-fix feature 3.Add a GUI 4.And more… [What I Did] I refactored the code structure! It was a bit challenging, but I’ve separated the codebase into multiple files, as shown in the attached screenshot. I decided not to release version 0.4.0 yet since there aren’t any major feature updates. Additionally, I fixed some typos. [Next Version Plan] I’ll add a check for hidden accounts. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/
Devlog #6 (v0.5.0) [Project Summary] TungstenScore is a Windows security assessment tool built with Rust. It evaluates your Windows system’s security posture and generates an overall security score. [Project Plan] Add security checks a. Firewall (Done) b. UAC (Done) c. TPM 2.0 (Added Today!) d. System integrity e. Hidden accounts f. Disk encryption g. etc. Add an auto-fix feature Add a GUI And more… [What I Did] I decided to remove the Windows version check from the roadmap because I couldn’t find a reliable way to retrieve the latest update info locally. I also don’t want the app to connect to the internet, as users might prefer an offline tool and maintaining a dedicated version API server would add extra overhead. Today, I added the TPM 2.0 check. It took a while to implement because this check requires admin privileges. I had to investigate what was causing the permission errors and figure out how to handle them gracefully. As a solution, I added an option to relaunch the app as administrator: If you type “Y”, the program will restart with admin privileges. If you type “N”, the check will be marked as “Requires administrator privileges” and excluded from the scan score (as shown in the attached screenshot). [Next Version Plan] I’ll be adding a check for hidden accounts. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/
devlog #7 (v0.5.1) I fixed some bugs for my first release!
Ships:
TungstenScore (v0.5.1) TungstenScore is a lightweight, open-source security assessment tool for Windows. It checks important Windows security settings and gives your system a security score, making it easier to understand how well your PC is protected and what could be improved. One of the hardest parts of building TungstenScore was working with the Windows APIs and reading security-related information from the Windows Registry. Different security features expose their state in different ways, so figuring out how to reliably retrieve and interpret that information was one of the biggest challenges during development. What I’m most proud of, though, is the structure of the project. TungstenScore still has a relatively small set of features, but I focused on making its foundation small, solid, and extensible. New security checks and other features can be added without having to redesign the entire application. Building that solid foundation is probably the part of this project I’m most proud of. TungstenScore is still under development, and I plan to add more security checks and improve the scoring system over time. You can now try TungstenScore yourself! You can download a pre-built version from my website, or download the source code and build it yourself using Cargo. Language note: English is not my native language, and I’m not very confident writing in English yet. I originally wrote this devlog in Korean and used an AI tool to help translate it into English....
|
1793342953.1892624
|
1793429353.1892624
|
|
36041
|
Fluid Dynamic Simulator by @tripathi_saumil | Star Fluid Dynamic Simulator by @tripathi_saumil | Stardance...
|
tripathi_saumil
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Fluid Dynamic Simulator by @tripathi_saumil Title: Fluid Dynamic Simulator by @tripathi_saumil | Stardance...
|
1792943348.735363
|
1793807348.735363
|
|
44349
|
CGM Pattern Analyzer by @tripathi_saumil | Stardan CGM Pattern Analyzer by @tripathi_saumil | Stardance...
|
tripathi_saumil
|
1
|
2.71
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T07:45:35Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a completely free continuous glucose monitor analyzing device that is compatible with data from a Dexcom G6 and G7. This project is able to closely analyze trends and identify phenomena found commonly in said trends. Honestly, the most challenging part was definitely getting the API to work. Lots of the other things weren’t easy but they definitely weren’t as hard and API key installation. I would say I’m most proud of that honestly. One major thing to know about this project is that I’m using only free resources, so I kind of don’t have a lot of calls available on my API per day. It should be able to work at least 5-8 times depending on how much data is used.", "repo": "https://github.com/SaumilT67/cgm_pattern_analyzer", "demo": "https://cgm-pattern-analyzer-mb3c.vercel.app"}]...
|
[{"post_id": 75469, "ts": "202 [{"post_id": 75469, "ts": "2026-09-30T05:41:33Z", "hours": 1.46, "text": "Changed a lot of the html to give it a better look. I think it looks way better since I did it myself. The creme and teal color way is kind of nice honestly, and new button on the top bar to reset everything is also pretty sick. It’s supposed to be like a drop of blood to represent like a finger prick. I plan to do improve the prompt calling in the future because it’s a little bare right now. I also need to somehow make the API calling faster because the wait time is quire slow. Honestly I think I need to spend money for that. I realized a lot of people can’t really use this either so I might need to make a mock CSV and add it so people can try it out. Next update I’ll probably add a downloadable one people can use."}, {"post_id": 68384, "ts": "2026-09-15T01:13:45Z", "hours": 0.2508, "text": "Changed up the HTML a little to make it less AI"}, {"post_id": 43142, "ts": "2026-08-08T07:40:57Z", "hours": 0.4389, "text": "Finally got this up on a demo url that works with my API #lesguooooooo"}, {"post_id": 43108, "ts": "2026-08-08T06:12:29Z", "hours": 1.0294, "text": "This is my CGM Pattern Analyzer. Basically what it does is that it uses an API to analyze lots of data (and I mean a lot like 24/7 data from 90 days that records every 5 minutes (for any non-cgm wearers ;))). I’ve used it with my own data and it works well. It makes sure not to diagnose patients because that would be kinda bad, but it helps analyze patterns and common phenomena with diabetic patients. It took lots of work but we did it!"}]...
|
Title: CGM Pattern Analyzer by @tripathi_saumil | Title: CGM Pattern Analyzer by @tripathi_saumil | Stardance
Devlogs:
This is my CGM Pattern Analyzer. Basically what it does is that it uses an API to analyze lots of data (and I mean a lot like 24/7 data from 90 days that records every 5 minutes (for any non-cgm wearers ;))). I’ve used it with my own data and it works well. It makes sure not to diagnose patients because that would be kinda bad, but it helps analyze patterns and common phenomena with diabetic patients. It took lots of work but we did it!
Finally got this up on a demo url that works with my API #lesguooooooo
Changed up the HTML a little to make it less AI
Changed a lot of the html to give it a better look. I think it looks way better since I did it myself. The creme and teal color way is kind of nice honestly, and new button on the top bar to reset everything is also pretty sick. It’s supposed to be like a drop of blood to represent like a finger prick. I plan to do improve the prompt calling in the future because it’s a little bare right now. I also need to somehow make the API calling faster because the wait time is quire slow. Honestly I think I need to spend money for that. I realized a lot of people can’t really use this either so I might need to make a mock CSV and add it so people can try it out. Next update I’ll probably add a downloadable one people can use.
Ships:
I made a completely free continuous glucose monitor analyzing device that is compatible with data from a Dexcom G6 and G7. This project is able to closely analyze trends and identify phenomena found commonly in said trends. Honestly, the most challenging part was definitely getting the API to work. Lots of the other things weren’t easy but they definitely weren’t as hard and API key installation. I would say I’m most proud of that honestly. One major thing to know about this project is that I’m using only free resources, so I kind of don’t have a lot of calls available on my API per day. It should be able to work at least 5-8 times depending on how much data is used....
|
1793465343.593241
|
1793551743.593241
|
|
44355
|
AeroForge: AI-Powered Aerospace Design Simulator b AeroForge: AI-Powered Aerospace Design Simulator by @tripathi_saumil | Stardance...
|
tripathi_saumil
|
0
|
0.85
|
0
|
[]
|
[{"post_id": 72484, "ts": "202 [{"post_id": 72484, "ts": "2026-09-23T02:00:04Z", "hours": 0.8478, "text": "So far I put some math in. It looks super Ai because I just needed an html to see all the stuff. It takes in all the stuff you put and then calculates it and makes graphs. My next goals are to make the html look better, make the UI better and simpler, and then later to add in API LLM to explain what’s going on. Maybe some simulation of the rocket too, but stick to simple goals for now."}]...
|
Title: AeroForge: AI-Powered Aerospace Design Simu Title: AeroForge: AI-Powered Aerospace Design Simulator by @tripathi_saumil | Stardance
Devlogs:
So far I put some math in. It looks super Ai because I just needed an html to see all the stuff. It takes in all the stuff you put and then calculates it and makes graphs. My next goals are to make the html look better, make the UI better and simpler, and then later to add in API LLM to explain what’s going on. Maybe some simulation of the rocket too, but stick to simple goals for now....
|
1793271055.6893687
|
1793875855.6893687
|
|
34717
|
My own site! by @trinhdaniel2008 | Stardance
|
trinhdaniel2008
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @trinhdaniel2008 | Stardanc Title: My own site! by @trinhdaniel2008 | Stardance...
|
1793354200.2958672
|
1793959000.2958672
|
|
7907
|
My awesome macropad! by @trimann95 | Stardance
|
trimann95
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @trimann95 | Starda Title: My awesome macropad! by @trimann95 | Stardance...
|
1793289354.2279165
|
1793894154.2279165
|
|
70832
|
My awesome macropad! by @trillionaire_007 | Starda My awesome macropad! by @trillionaire_007 | Stardance...
|
trillionaire_007
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @trillionaire_007 | Title: My awesome macropad! by @trillionaire_007 | Stardance...
|
1793296246.5238712
|
1793901046.5238712
|
|
52093
|
Claw by @trikelly294 | Stardance
|
trikelly294
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Claw by @trikelly294 | Stardance
|
1793419012.9306676
|
1794023812.9306676
|
|
3648
|
Blue Canary by @triinjb | Stardance
|
triinjb
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Blue Canary by @triinjb | Stardance
|
1793501772.9968429
|
1794106572.9968429
|
|
17640
|
My very own WebOS by @tridev | Stardance
|
tridev
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @tridev | Stardance
|
1793134256.6642048
|
1793739056.6642048
|
|
17653
|
My awesome macropad! by @tridev | Stardance
|
tridev
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @tridev | Stardance
|
1793134267.7900126
|
1793739067.7900126
|
|
14416
|
My very own WebOS by @trickymathquestion | Stardan My very own WebOS by @trickymathquestion | Stardance...
|
trickymathquestion
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @trickymathquestion | Title: My very own WebOS by @trickymathquestion | Stardance...
|
1793462060.6502087
|
1794066860.6502087
|
|
33958
|
Untitled project by @tricerotops6 | Stardance
|
tricerotops6
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @tricerotops6 | Stardan Title: Untitled project by @tricerotops6 | Stardance...
|
1793476101.787984
|
1794080901.787984
|
|
24411
|
My very own WebOS by @triaksha | Stardance
|
triaksha
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @triaksha | Stardance
|
1793260366.053755
|
1793865166.053755
|
|
14114
|
Untitled project by @tria | Stardance
|
tria
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @tria | Stardance
|
1793382495.865492
|
1793987295.865492
|
|
33506
|
My Site <3 by @tria | Stardance
|
tria
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-14T14:22:07Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple website showcasing basic things about me.", "repo": "https://github.com/astrotriangulum/cya-mysite", "demo": "https://cya-about-me.netlify.app/"}]...
|
[{"post_id": 28285, "ts": "202 [{"post_id": 28285, "ts": "2026-07-14T13:17:06Z", "hours": 1.6114, "text": "Devlog 3 I’m done. Looks boring but I’ll prolly add more features soon."}, {"post_id": 27671, "ts": "2026-07-13T13:24:55Z", "hours": 2.4222, "text": "Devlog 2 I finally have a bit of progress, and it looks plain (for now). I might add javascript later on. Any suggestions on what I can do? ^^"}, {"post_id": 27145, "ts": "2026-07-12T13:04:12Z", "hours": 0.8158, "text": "My Site - Devlog 1 Just started coding and I (kinda) finished the footer. Sorry if the format lowk looks messy hehe. PS: I’ll be able to show what it looks like in future devlogs."}]...
|
Title: My Site <3 by @tria | Stardance
Devlogs Title: My Site <3 by @tria | Stardance
Devlogs:
My Site - Devlog 1 Just started coding and I (kinda) finished the footer. Sorry if the format lowk looks messy hehe. PS: I’ll be able to show what it looks like in future devlogs.
Devlog 2 I finally have a bit of progress, and it looks plain (for now). I might add javascript later on. Any suggestions on what I can do? ^^
Devlog 3 I’m done. Looks boring but I’ll prolly add more features soon.
Ships:
I made a simple website showcasing basic things about me....
|
1793552155.9074798
|
1793638555.9074798
|
|
34261
|
TortulOS by @tria | Stardance
|
tria
|
0
|
1.87
|
0
|
[]
|
[{"post_id": 66644, "ts": "202 [{"post_id": 66644, "ts": "2026-09-12T14:30:44Z", "hours": 0.4725, "text": "TORTULOS: DEVLOG 3 I like the modified design."}, {"post_id": 65955, "ts": "2026-09-11T13:17:41Z", "hours": 0.3953, "text": "TORTULOS: DEVLOG 2 Sorry guys I wasn’t able to update this one much ToT Progress: modified design Expected: changed text font probably the actual desktop"}, {"post_id": 65360, "ts": "2026-09-10T13:26:55Z", "hours": 0.9992, "text": "TORTULOS: DEVLOG 1 Hello! Before I talk about my progress so far for this project, I wanna share that I am doing this as a way to advocate for sea turtle wildlife and conservation. Sea turtles are really really essential, and as of right now, 5 out of the 7 species have the risk of extinction, while the other 2 are critically endangered. I hope that the updates regarding this project, and the finished project itself (soon) will help you appreciate these species. Thank you! Progress: partially completed the welcome screen used external css instead of internal no javascript implemented (yet) looks boring Kudos <3 :)"}]...
|
Title: TortulOS by @tria | Stardance
Devlogs:
TOR Title: TortulOS by @tria | Stardance
Devlogs:
TORTULOS: DEVLOG 1 Hello! Before I talk about my progress so far for this project, I wanna share that I am doing this as a way to advocate for sea turtle wildlife and conservation. Sea turtles are really really essential, and as of right now, 5 out of the 7 species have the risk of extinction, while the other 2 are critically endangered. I hope that the updates regarding this project, and the finished project itself (soon) will help you appreciate these species. Thank you! Progress: partially completed the welcome screen used external css instead of internal no javascript implemented (yet) looks boring Kudos <3 :)
TORTULOS: DEVLOG 2 Sorry guys I wasn’t able to update this one much ToT Progress: modified design Expected: changed text font probably the actual desktop
TORTULOS: DEVLOG 3 I like the modified design....
|
1793397019.0174735
|
1794001819.0174735
|
|
35118
|
BirbyTaby by @tria | Stardance
|
tria
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-19T09:18:33Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a cute birb themed tab page and I loved how the format turned out. One challenging part here though was thinking of what I can add to make it unique, so I added a notepad feature (saving and clearing works) and an actual working searchbar.", "repo": "https://github.com/astrotriangulum/not-bird", "demo": "https://glowing-kelpie-95e187.netlify.app/"}]...
|
[{"post_id": 31133, "ts": "202 [{"post_id": 31133, "ts": "2026-07-19T09:13:19Z", "hours": 4.3022, "text": "BirbyTaby Status: complete I wanted to create a clean and somewhat cozy tab page, and so I tried to design it with my own bird- sorry I mean BIRB themed interface. You can check it out the demo link at the github repository :)"}]...
|
Title: BirbyTaby by @tria | Stardance
Devlogs:
Bi Title: BirbyTaby by @tria | Stardance
Devlogs:
BirbyTaby Status: complete I wanted to create a clean and somewhat cozy tab page, and so I tried to design it with my own bird- sorry I mean BIRB themed interface. You can check it out the demo link at the github repository :)
Ships:
I made a cute birb themed tab page and I loved how the format turned out. One challenging part here though was thinking of what I can add to make it unique, so I added a notepad feature (saving and clearing works) and an actual working searchbar....
|
1793497704.0718997
|
1793584104.0718997
|
|
56226
|
my APOD site by @treznornx1 | Stardance
|
treznornx1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: my APOD site by @treznornx1 | Stardance
|
1793371892.5343115
|
1793976692.5343115
|
|
1863
|
My awesome macropad! by @trey | Stardance
|
trey
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @trey | Stardance
|
1793303285.5403943
|
1793908085.5403943
|
|
5814
|
Minecraft Manager by @trey | Stardance
|
trey
|
0
|
1.95
|
0
|
[]
|
[{"post_id": 34722, "ts": "202 [{"post_id": 34722, "ts": "2026-07-25T17:48:09Z", "hours": 0.4347, "text": "UX The add server UI no longer shows the version selector for pumpkin, as it always pulls the nightly version. The hinted minecraft version also uses the new 26.x.x format now. Other changes The code is now ruff formatted (mostly)"}, {"post_id": 29821, "ts": "2026-07-16T23:18:45Z", "hours": 0.8247, "text": "Stuck in a hard place I spent a while trying to get forge/neoforge working and I can’t figure it out. There is no easy download api that I can use (unlike paper/fabric), and it looks like forge velocity support isn’t quite ready for the setup I have. So this will probably be the final-supported server list until support gets better."}, {"post_id": 1561, "ts": "2026-06-03T17:37:17Z", "hours": 0.6947, "text": "Catching up A few new features have been added! You can now set PROXIED_AUTH_HEADER to a proxy header for use with forward auth systems like authentik (e.x. PROXIED_AUTH_HEADER=X-Authentik-Username ), users must already exist on the instance. I tried making it skip authentication, but I ended up making it automatically pass a token to the user if the header is set. Backups now run async without a request context! It also uses this to pipe the tar output over the websocket. It runs by effectively taking over the run_server function, which has the bonus of preventing the server from starting during a backup, and prevents the container from stopping until the backup is finished! This required reimplementing the backup function, and adding a “command” parameter to the run_server function, but it works great!"}]...
|
Title: Minecraft Manager by @trey | Stardance
Dev Title: Minecraft Manager by @trey | Stardance
Devlogs:
Catching up A few new features have been added! You can now set PROXIED_AUTH_HEADER to a proxy header for use with forward auth systems like authentik (e.x. PROXIED_AUTH_HEADER=X-Authentik-Username ), users must already exist on the instance. I tried making it skip authentication, but I ended up making it automatically pass a token to the user if the header is set. Backups now run async without a request context! It also uses this to pipe the tar output over the websocket. It runs by effectively taking over the run_server function, which has the bonus of preventing the server from starting during a backup, and prevents the container from stopping until the backup is finished! This required reimplementing the backup function, and adding a “command” parameter to the run_server function, but it works great!
Stuck in a hard place I spent a while trying to get forge/neoforge working and I can’t figure it out. There is no easy download api that I can use (unlike paper/fabric), and it looks like forge velocity support isn’t quite ready for the setup I have. So this will probably be the final-supported server list until support gets better.
UX The add server UI no longer shows the version selector for pumpkin, as it always pulls the nightly version. The hinted minecraft version also uses the new 26.x.x format now. Other changes The code is now ruff formatted (mostly)...
|
1793274693.5859215
|
1793879493.5859215
|
|
3402
|
Balloon Payload by @trexhaydor | Stardance
|
trexhaydor
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Balloon Payload by @trexhaydor | Stardance
|
1793418729.229404
|
1794023529.229404
|
|
24742
|
Graphics Engine by @trexhaydor | Stardance
|
trexhaydor
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Graphics Engine by @trexhaydor | Stardance
|
1793389978.349312
|
1793994778.349312
|
|
16226
|
Custom Decals for Pickleball Padels by @trevordots Custom Decals for Pickleball Padels by @trevordotson92 | Stardance...
|
trevordotson92
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Custom Decals for Pickleball Padels by @tre Title: Custom Decals for Pickleball Padels by @trevordotson92 | Stardance...
|
1793166734.3973837
|
1793771534.3973837
|
|
16228
|
Health App by @trevordotson92 | Stardance
|
trevordotson92
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Health App by @trevordotson92 | Stardance
|
1793458370.6592512
|
1794063170.6592512
|
|
16229
|
3D Printed Lego Wall Mounts by @trevordotson92 | S 3D Printed Lego Wall Mounts by @trevordotson92 | Stardance...
|
trevordotson92
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: 3D Printed Lego Wall Mounts by @trevordotso Title: 3D Printed Lego Wall Mounts by @trevordotson92 | Stardance...
|
1793551670.2036536
|
1794156470.2036536
|
|
16230
|
3D Football Stadium by @trevordotson92 | Stardance
|
trevordotson92
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: 3D Football Stadium by @trevordotson92 | St Title: 3D Football Stadium by @trevordotson92 | Stardance...
|
1793181054.673668
|
1793785854.673668
|
|
16813
|
Tracking App by @trevordotson92 | Stardance
|
trevordotson92
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Tracking App by @trevordotson92 | Stardance
|
1793281680.3807778
|
1793886480.3807778
|
|
16815
|
Data Migrator App for Windows by @trevordotson92 | Data Migrator App for Windows by @trevordotson92 | Stardance...
|
trevordotson92
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Data Migrator App for Windows by @trevordot Title: Data Migrator App for Windows by @trevordotson92 | Stardance...
|
1793224536.0016074
|
1793829336.0016074
|
|
17517
|
Hiring Tracker by @trevordotson92 | Stardance
|
trevordotson92
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Hiring Tracker by @trevordotson92 | Stardan Title: Hiring Tracker by @trevordotson92 | Stardance...
|
1793325077.2079208
|
1793929877.2079208
|
|
22948
|
runhelper by @trev | Stardance
|
trev
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-29T00:07:34Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a game server manager for PCs that aren’t always running, in Rust and HTML/CSS/JS. I designed it so that there is a front-facing server that is always running (the helper ), like a Raspberry Pi, that can wake and communicate with the computer running the game server (the runner ). This means that the computer does not need to have extra ports exposed. The frontend server has layers of authentication, so that you can send a link to your friends for them to see what mods there are + system statistics, one password to enable them to start & wake the server, and another to allow stopping the server. The console censors numbers so that IPs and other sensitive information (like coordinates) remain private. The games + modloaders this currently supports are Minecraft + Forge/Paper/Vanilla , Terraria + tModLoader/Vanilla , and Satisfactory (Stable) . More can be added because of runner ’s modular design. *Note: the runner only compiles on Windows, while the helper compiles for all platforms but is only tested on Debian Linux`", "repo": "https://github.com/Trevrosa/runhelper", "demo": "https://stardance.trevrosa.dev"}]...
|
[{"post_id": 30565, "ts": "202 [{"post_id": 30565, "ts": "2026-07-18T07:37:06Z", "hours": 1.5672, "text": "To get ready to ship, I finished the readmes to include instructions on how to run the project and published binaries on its Github page. While setting up a demo server, I realised the webapp would not show the port of the server, which matters if there are multiple servers running at the same time. I added a port field to the ServerInfo struct and implemented finding it from GAME_ARGS and the game server’s config file for each game server."}, {"post_id": 27064, "ts": "2026-07-12T08:47:11Z", "hours": 3.6383, "text": "I finished implementing the mod resolver for tModLoader. My first thought was to read the .twld file; since it’s generated by tModLoader, it probably held information about the mods. I couldn’t find docs for its file format, so I first used the file tool, which showed that it was a gzipped file. I decompressed the file and tried to see if it was a text format or simple binary format by opening it in a hex editor. It wasn’t though, so I looked harder at the tModLoader docs, and found that it simply saved the WorldFileData to a TagCompound , which is serialized as an NBT. I then had the problem of storing the world path within the Terraria struct, since it would require a special argument on the server_info function that other implementations wouldn’t need. I thought about creating a new trait that would be passed to server_info , but I realised I could use the V: Variant and detect the world path from the config, since V already is generic. This required changing the trait bound from Copy to Clone , since the ServerType would have to hold a PathBuf which does not implement Copy . I finally used the Steamworks Web API to search the Steam Workspace, where mods are uploaded, to find info like the icon url, whether it’s client or server sided, etc."}, {"post_id": 24559, "ts": "2026-07-08T06:28:46Z", "hours": 3.6786, "text": "I started by trying to add support for the Satisfactory Dedicated Server, so I created a module for it in routes::start , where the other game server impls are. I saw that the start module directory was starting to get big, so I moved its contents to a new module at crate::games . Because Satisfactory does not have any server variants, I initially implemented Variant for () , returning None in its fn detect , and used () as its variant. After testing it, I realised that detect returning None would make the server not runnable, since it’s supposed to detect if there is a server at a given path. I removed the impl for () and created a single variant enum instead. I implemented fn run by running FactoryServer.exe / FactoryServer.sh with the arg -unattended and fn server_info by inspecting the exe’s product_version . I was looking into how to gracefully stop a Satisfactory server, and realised that the GameServer trait does not require a fn stop to be defined, and that it had handled stopping in the routes::stop function, matching on the ServerType . I added fn stop to the GameServer trait, and moved the impls to the respective game impls. I also saw that in crate::tasks::shutdown , it only sent /stop (only working for Minecraft) and then force-killed the process. I replaced this with running the stop implementation. For Satisfactory, stop had to send SIGINT on Linux and CtrlC on Windows. I used libc::kill for Linux, and GenerateConsoleCtrlEvent for Windows. Since I already needed the crates libc and windows-sys for this, I replaced the existing force_kill implementation that ran CLI commands with libc::kill and TerminateProcess . Now that GameServer was fully implemented for Satisfactory, I tried starting the game. It opened a visible console window, even with different args. To make it run without a window, I looked into creation flags like CREATE_NO_WINDOW , but that didn’t work. The wiki said that to run the server as a service, I would have to use NSSM, but that requires administrator privileges. I then looked at Task Manager and saw that FactoryServer.exe seemed to only run FactoryServer-Win64-Shipping-Cmd.exe with the arguments FactoryGame -unattended . So, I ran it with those arguments, and the server would now start without creating a console window."}, {"post_id": 23980, "ts": "2026-07-07T07:24:33Z", "hours": 0.5936, "text": "I added support for vanilla minecraft servers, refactoring some functions that ended up useful for both paper and vanilla."}, {"post_id": 22710, "ts": "2026-07-05T08:53:33Z", "hours": 1.3042, "text": "I finished a todo on ensuring the different game server implementations are and stay consistent. I did this by defining a common GameServer trait that takes a generic Variant type; the Variant type needs to be generic because different games may have different server variants. The GameServer trait requires fn spawn and fn server_info to be defined and provides fn run that calls spawn and server_info , setting the AppState ’s server info with the result. This ended up making the respective mod.rs s more concise and deduplicating some logging code."}, {"post_id": 14251, "ts": "2026-06-23T08:40:40Z", "hours": 0.405, "text": "I checked again and saw that the sockets still weren’t being cleaned up, looked through the helper routes again, and saw that the ws handler was infinitely looping even after it failed to send, causing the socket to not be released. I removed the loop and the fd count seems to be stable."}, {"post_id": 14173, "ts": "2026-06-23T05:09:08Z", "hours": 0.2867, "text": "I fixed an issue where socket fds were leaked, which caused the helper to eventually stop serving the static webapp due to an fd limit. I thought I fixed it by closing the websocket after it stopped being able to receive, but this would only happen if the websocket was already closed by the runner , meaning the call to close the websocket would always fail. I originally thought that because I reconnected in a loop , the websocket object would get dropped per iteration, but maybe due to async, it didn’t. So, to ensure the OS socket is closed, I manually drop the websocket object after recv fails."}, {"post_id": 13693, "ts": "2026-06-22T13:29:14Z", "hours": 0.9622, "text": "Since the console route is unauthenticated, I had a filter that censors numbers to hide things like IPs. However, a person should at least be able to see what players there are, using the /list command. So, the filter used to check if a line contains a specific string that /list outputs, but this could allow players to type that string to bypass the filter. I first fixed this with a regex, ^.+]: There are , but my benchmarks showed that it took 100x longer than the original. I finally fixed it by splitting the line by ] and checking if specific indexes (depending on the server type) start with the string. This solution takes around the same time as the original (avg ~1μs)."}, {"post_id": 13631, "ts": "2026-06-22T11:09:54Z", "hours": 2.7186, "text": "I noticed that after adding a certain plugin to a Minecraft server, the runner’s stdout reader would stop abruptly, with only a log saying the reader stopped. I realised that when it encountered an error, I made it stop without logging the actual error. After making it log the error, I saw that it stopped due to the output not being UTF-8. I fixed this by replacing my use of BufReader ’s .lines() and reading the stdout to a Vec<u8> , converting to a string lossily, so that it handles non-UTF-8 output. I also knew that the plugin/mod resolver was not very robust, not finding the actual plugin/mod most times. I improved this by reading the author info from the plugin/mod metadata with a more accurate data structure, eg. accounting for the authors field to be a string or a list of strings, using the author to compare with search results to ensure the correct result is selected. I also now try both the reported plugin/mod name and the name from its filename."}]...
|
Title: runhelper by @trev | Stardance
Devlogs:
I Title: runhelper by @trev | Stardance
Devlogs:
I noticed that after adding a certain plugin to a Minecraft server, the runner’s stdout reader would stop abruptly, with only a log saying the reader stopped. I realised that when it encountered an error, I made it stop without logging the actual error. After making it log the error, I saw that it stopped due to the output not being UTF-8. I fixed this by replacing my use of BufReader ’s .lines() and reading the stdout to a Vec<u8> , converting to a string lossily, so that it handles non-UTF-8 output. I also knew that the plugin/mod resolver was not very robust, not finding the actual plugin/mod most times. I improved this by reading the author info from the plugin/mod metadata with a more accurate data structure, eg. accounting for the authors field to be a string or a list of strings, using the author to compare with search results to ensure the correct result is selected. I also now try both the reported plugin/mod name and the name from its filename.
Since the console route is unauthenticated, I had a filter that censors numbers to hide things like IPs. However, a person should at least be able to see what players there are, using the /list command. So, the filter used to check if a line contains a specific string that /list outputs, but this could allow players to type that string to bypass the filter. I first fixed this with a regex, ^.+]: There are , but my benchmarks showed that it took 100x longer than the original. I finally fixed it by splitting the line by ] and checking if specific indexes (depending on the server type) start with the string. This solution takes around the same time as the original (avg ~1μs).
I fixed an issue where socket fds were leaked, which caused the helper to eventually stop serving the static webapp due to an fd limit. I thought I fixed it by closing the websocket after it stopped being able to receive, but this would only happen if the websocket was already closed by the runner , meaning the call to close the websocket would always fail. I originally thought that because I reconnected in a loop , the websocket object would get dropped per iteration, but maybe due to async, it didn’t. So, to ensure the OS socket is closed, I manually drop the websocket object after recv fails.
I checked again and saw that the sockets still weren’t being cleaned up, looked through the helper routes again, and saw that the ws handler was infinitely looping even after it failed to send, causing the socket to not be released. I removed the loop and the fd count seems to be stable.
I finished a todo on ensuring the different game server implementations are and stay consistent. I did this by defining a common GameServer trait that takes a generic Variant type; the Variant type needs to be generic because different games may have different server variants. The GameServer trait requires fn spawn and fn server_info to be defined and provides fn run that calls spawn and server_info , setting the AppState ’s server info with the result. This ended up making the respective mod.rs s more concise and deduplicating some logging code.
I added support for vanilla minecraft servers, refactoring some functions that ended up useful for both paper and vanilla.
I started by trying to add support for the Satisfactory Dedicated Server, so I created a module for it in routes::start , where the other game server impls are. I saw that the start module directory was starting to get big, so I moved its contents to a new module at crate::games . Because Satisfactory does not have any server variants, I initially implemented Variant for () , returning None in its fn detect , and used () as its variant. After testing it, I realised that detect returning None would make the server not runnable, since it’s supposed to detect if there is a server at a given path. I removed the impl for () and created a single variant enum instead. I implemented fn run by running FactoryServer.exe / FactoryServer.sh with the arg -unattended and fn server_info by inspecting the exe’s product_version . I was looking into how to gracefully stop a Satisfactory server, and realised that the GameServer trait does not require a fn stop to be defined, and that it had handled stopping in the routes::stop function, matching on the ServerType . I added fn stop to the GameServer trait, and moved the impls to the respective game impls. I also saw that in crate::tasks::shutdown , it only sent /stop (only working for Minecraft) and then force-killed the process. I replaced this with running the stop implementation. For Satisfactory, stop had to send SIGINT on Linux and CtrlC on Windows. I used libc::kill for Linux, and GenerateConsoleCtrlEvent for Windows. Since I already needed the crates libc and windows-sys for this, I replaced the existing force_kill implementation that ran CLI commands with libc::kill and TerminateProcess . Now that GameServer was fully implemented for Satisfactory, I tried starting the game. It opened a visible console window, even with different args. To make it run without a window, I looked into creation flags like CREATE_NO_WINDOW , but that didn’t work. The wiki said that to run the server as a service, I would have to use NSSM, but that requires administrator privileges. I then looked at Task Manager and saw that FactoryServer.exe seemed to only run FactoryServer-Win64-Shipping-Cmd.exe with the arguments FactoryGame -unattended . So, I ran it with those arguments, and the server would now start without creating a console window.
I finished implementing the mod resolver for tModLoader. My first thought was to read the .twld file; since it’s generated by tModLoader, it probably held information about the mods. I couldn’t find docs for its file format, so I first used the file tool, which showed that it was a gzipped file. I decompressed the file and tried to see if it was a text format or simple binary format by opening it in a hex editor. It wasn’t though, so I looked harder at the tModLoader docs, and found that it simply saved the WorldFileData to a TagCompound , which is serialized as an NBT. I then had the problem of storing the world path within the Terraria struct, since it would require a special argument on the server_info function that other implementations wouldn’t need. I thought about creating a new trait that would be passed to server_info , but I realised I could use the V: Variant and detect the world path from the config, since V already is generic. This required changing the trait bound from Copy to Clone , since the ServerType would have to hold a PathBuf which does not implement Copy . I finally used the Steamworks Web API to search the Steam Workspace, where mods are uploaded, to find info like the icon url, whether it’s client or server sided, etc.
To get ready to ship, I finished the readmes to include instructions on how to run the project and published binaries on its Github page. While setting up a demo server, I realised the webapp would not show the port of the server, which matters if there are multiple servers running at the same time. I added a port field to the ServerInfo struct and implemented finding it from GAME_ARGS and the game server’s config file for each game server.
Ships:
I created a game server manager for PCs that aren’t always running, in Rust and HTML/CSS/JS. I designed it so that there is a front-facing server that is always running (the helper ), like a Raspberry Pi, that can wake and communicate with the computer running the game server (the runner ). This means that the computer does not need to have extra ports exposed. The frontend server has layers of authentication, so that you can send a link to your friends for them to see what mods there are + system statistics, one password to enable them to start & wake the server, and another to allow stopping the server. The console censors numbers so that IPs and other sensitive information (like coordinates) remain private. The games + modloaders this currently supports are Minecraft + Forge/Paper/Vanilla , Terraria + tModLoader/Vanilla , and Satisfactory (Stable) . More can be added because of runner ’s modular design. *Note: the runner only compiles on Windows, while the helper compiles for all platforms but is only tested on Debian Linux`...
|
1793332244.7130787
|
1793418644.7130787
|
|
53963
|
A Watch Party App by @treewhacksun | Stardance
|
treewhacksun
|
0
|
1.7
|
0
|
[]
|
[{"post_id": 57410, "ts": "202 [{"post_id": 57410, "ts": "2026-08-29T15:38:31Z", "hours": 1.7044, "text": "So I realized that my initial design was actually really stupid. I was planning on doing something like the left (in the image below). This would mean browsers broadcast changes to the hub, which would in turn broadcast changes to rooms, which would broadcast changes to other room members (I know how stupid that sounds now 💀, this is why you don’t blindly trust ai kids). But, should that be implemented, my 1 hub struct would have to handle all n-hundred room events by itself, which would be a little too much (to say the least). I’ve realized a much better implementation would be to have the hub exist solely to create / delete rooms, and the rooms themselves handle the events (pause, play, seek, join, leave)."}]...
|
Title: A Watch Party App by @treewhacksun | Starda Title: A Watch Party App by @treewhacksun | Stardance
Devlogs:
So I realized that my initial design was actually really stupid. I was planning on doing something like the left (in the image below). This would mean browsers broadcast changes to the hub, which would in turn broadcast changes to rooms, which would broadcast changes to other room members (I know how stupid that sounds now 💀, this is why you don’t blindly trust ai kids). But, should that be implemented, my 1 hub struct would have to handle all n-hundred room events by itself, which would be a little too much (to say the least). I’ve realized a much better implementation would be to have the hub exist solely to create / delete rooms, and the rooms themselves handle the events (pause, play, seek, join, leave)....
|
1793515741.0806315
|
1794120541.0806315
|
|
25502
|
SkySong by @trecks | Stardance
|
trecks
|
0
|
8.05
|
0
|
[]
|
[{"post_id": 16528, "ts": "202 [{"post_id": 16528, "ts": "2026-06-26T21:47:48Z", "hours": 2.9814, "text": "SkySong Devlog #3 whats new firstly i finally created a backend that allows for the flight data of a specific area to be called. currently it has zero implementation into the website with it only pulling londons bounding box of flights :p. i used nodejs for the backend and it now hosts the static files such as the maputnik files and the index.html. i have developed a new ui that loosely recreates a garmin gnc 255. it shows the user pop ups to give a nicer feeling than built in browser prompts for errors. so far many buttons are NOT working as i plan to develop more panels later on that they will effect :3 list of new features: new garmin display better alert system vol, tempo and genre change (unused however) movable unit working buttons for search and clear working flights API hosted through nodejs whats next!!?? upcoming features: im yet to implement the plane data to be shown on the map so that needs implementing heatmap or temperature of areas shown music functionality (DUHHHHH!!) settings tab for controlling various factors weather being shown on the map which will affect the music too and mobile compatibility but its the last of my worries anyways thanks for reading this devlog as there is many more to come thanks!! :D ps skysong url is now out!!!"}, {"post_id": 15992, "ts": "2026-06-25T23:38:00Z", "hours": 1.7722, "text": "SkySong Devlog #2 :3 whats new Since the last devlog i have now migrated the map functions to maplibre with maputnik to generate the styles and 3D aspects of the map such as the buildings. All new features: 3D building and bridges Maplibre now being used The user can now create their own bounding box with shift and click Terrain is now shown and can be turned on and off the struggles When creating with maplibre it was a struggle to find some good free APIs for the map and terrain data that didnt limit my capabilities throughout testing and release. Another struggle is my research for free live aircraft data that i can next add to my map. whats next? Upcoming features: Live plan data mapped Plane info available for each one Backend for certain functions instead of being local Weather shown on the map The musical abilities thanks for reading!! :3"}, {"post_id": 15819, "ts": "2026-06-25T18:25:56Z", "hours": 3.2975, "text": "SkySong Devlog #1 😼😼 the concept So the concept is that the planes in a specific area generate a music composition based off of several different factors: flight speed vertical speed altitude time of day callsign prefix done so far So far ive created the map functions on a basic openstreetmap that allows for the user to search for specific areas and then zoom into the area. It then creates a bounding box based off of coordinates that will serve as the location for the flights to be scanned for and affect the music. So far if a location doesnt have a bounding box precreated on OSM it will create a rectangle with the centre being the location inputted. what i plan to do I plan to: migrate to maplibre use maputnik for a custom design on the map with terrain and buildings shown implement flight data to the map add the musical abilities of aircrafts allow for custom drawing of objects and many more! i hope this project ends up going well and thanks for reading my first devlog! :3"}]...
|
Title: SkySong by @trecks | Stardance
Devlogs:
Sk Title: SkySong by @trecks | Stardance
Devlogs:
SkySong Devlog #1 😼😼 the concept So the concept is that the planes in a specific area generate a music composition based off of several different factors: flight speed vertical speed altitude time of day callsign prefix done so far So far ive created the map functions on a basic openstreetmap that allows for the user to search for specific areas and then zoom into the area. It then creates a bounding box based off of coordinates that will serve as the location for the flights to be scanned for and affect the music. So far if a location doesnt have a bounding box precreated on OSM it will create a rectangle with the centre being the location inputted. what i plan to do I plan to: migrate to maplibre use maputnik for a custom design on the map with terrain and buildings shown implement flight data to the map add the musical abilities of aircrafts allow for custom drawing of objects and many more! i hope this project ends up going well and thanks for reading my first devlog! :3
SkySong Devlog #2 :3 whats new Since the last devlog i have now migrated the map functions to maplibre with maputnik to generate the styles and 3D aspects of the map such as the buildings. All new features: 3D building and bridges Maplibre now being used The user can now create their own bounding box with shift and click Terrain is now shown and can be turned on and off the struggles When creating with maplibre it was a struggle to find some good free APIs for the map and terrain data that didnt limit my capabilities throughout testing and release. Another struggle is my research for free live aircraft data that i can next add to my map. whats next? Upcoming features: Live plan data mapped Plane info available for each one Backend for certain functions instead of being local Weather shown on the map The musical abilities thanks for reading!! :3
SkySong Devlog #3 whats new firstly i finally created a backend that allows for the flight data of a specific area to be called. currently it has zero implementation into the website with it only pulling londons bounding box of flights :p. i used nodejs for the backend and it now hosts the static files such as the maputnik files and the index.html. i have developed a new ui that loosely recreates a garmin gnc 255. it shows the user pop ups to give a nicer feeling than built in browser prompts for errors. so far many buttons are NOT working as i plan to develop more panels later on that they will effect :3 list of new features: new garmin display better alert system vol, tempo and genre change (unused however) movable unit working buttons for search and clear working flights API hosted through nodejs whats next!!?? upcoming features: im yet to implement the plane data to be shown on the map so that needs implementing heatmap or temperature of areas shown music functionality (DUHHHHH!!) settings tab for controlling various factors weather being shown on the map which will affect the music too and mobile compatibility but its the last of my worries anyways thanks for reading this devlog as there is many more to come thanks!! :D ps skysong url is now out!!!...
|
1793170484.7015574
|
1793775284.7015574
|
|
27828
|
My awesome macropad! by @travis0554 | Stardance
|
travis0554
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @travis0554 | Stard Title: My awesome macropad! by @travis0554 | Stardance...
|
1793346924.9524193
|
1793951724.9524193
|