You are browsing as a guest. Sign up (or log in) to start making projects!

Custom Drone Racing League Simulator Server

  • 5 Devlogs
  • 25 Total hours

In December of 2025 the servers for Drone Racing League Simulator were shut down. This is a project to restore the online mode to Drone Racing League Simulator by reverse engineering the game’s server

Open comments for this post

3h 49m 33s logged

So it’s been about a month…
I added some more stuff to make the leaderboard shift on prod easier, it’s just a very small script, but it removes the pain of the whole thing so I can just run it and be done

I changed some of the scoring system for the final heat, I learned that during the golden_heat there is 7 heats, and to qualify you need to get second 2 times or first once. This took a while sadly, but I’m much closer to getting this on prod, just need to finish up the progression system and I can get some real live testers.

I also will be getting a real press racer4, wont fly out of the box, but getting it to fly will be easy.

(again not much to show bc of it all being backend work :heaviersob: )

0
0
12
Open comments for this post

9h 40m 2s logged

I’ve been working a lot on getting the scoring, replays , and leaderboards right.

During this 9 hours, I spent most of it breaking a system that already worked!!!!!!!!! The leaderboards!

I had to add like 3 new columns (into the primary key 💀) and rework my leaderboard code to work right. It only took 5 hours :heaviersob:
Oh and it’s going to be a pain to get that on prod. yay :(

Right next to that I had to implement a brand new scoring system for the tournaments (which is mostly done besides saving). I’m using a map of maps to map each match to tournament. That should keep lookup times to O(1) and worst case O(N) which should be fine.

Good news tho, I’m might be able to get my hands on a real life DRL Racer 4!!!!! If I do, you can bet I will be reverse engineering that so hard.

pics in order

  • Tournament scoring thingy?
  • Image from the replay system (replays now work on tournaments)

Sorry that I dont have more to show, it’s all backend work :(

0
0
7
Open comments for this post

4h 33m 42s logged

I kinda ran into a roadblock today, not really a roadblock just a lack of planning lol.

When i started to try and automate the rounds a matches I realized I had no clue what I was doing. I just starting throwing things out there and hoping it worked.

It felt like a lot of guess and check, but I did get somewhere:

I got rounds to mark as active, complete, and set start and end times dynamically, and matches are marked complete at their end dates.

I also fixed one of the endpoints (/tournaments/:guid/matches/:mid). It wanted the data I was giving it in an array even though it only wanted 1 match :huh: . Fixing this made the round end timer work right :yay: (It auto ends the quals if you are racing)

Results didn’t get any updates today sadly BUT I did some work on player displays and how matches are marked.

I was mad that I didn’t know what to do, so I watched some old livestreams of tournaments and found out that empty matches didn’t say waiting, they said inactive, so I changed the default match state to idle and fixed that

I also worked on getting player icons to display, but they are greyed out so I need to fix that later.

0
0
9
Open comments for this post

3h 9m 8s logged

I got the full tournament generation working!

I got rounds to save and also matches are created and saved. The whole tournament generation is now (mostly) done.

I’ve been putting off building this system for like 3 months, but it’s lowkey kinda easy except when you mistype a SQL statement and but fix for 30 mins without looking at the SQL :bruh:

Although currently there is no player logic, so no players a entered into matches or anything like that so I need to work on that, then the results system ect ect.

(Last img is pulled from a very old livestream when the servers were still working)

0
0
12
Open comments for this post

4h 7m 4s logged

I’m getting back to work on tournaments (from my 3 break of working on this project)

I talked to some of the old DRL devs/the Community, and even got this video of one of the DRL Community tournaments. This allowed me to make a plan:

48 people can register and that will be cut down into either 24, 12, or 6 depending on how many people there are.
if under 6 people have registered, it just does the finals basically and they all have a face off.
if there is only 1 person registered, the whole thing gets marked as failed and that tournament gets called off.

As it is right now I have a bit of an auto system in place

if tournament.register_end >= now the tournament status auto goes to idle, and if the tournament isn’t full it opens up to registration.

if the tournament is marked as idle and tournament.register_end <= now registration is auto closed and the status is moved to active.

if the tournament is marked as active but has less than 2 players it’s marked as failed.

I also created function createTournamentRounds which takes in the tournament data, player Count, and the tournament Type. It’s only set up for tournamentType === "DRL" at the moment tho.

It creates all the rounds (3 if 12 person tournament, 4 if 24 person) and sets QUALIFIERS to active.

It still needs to create matches and save the rounds tho

ALSO LOOK AT THOSE STATS!!!!!! (last 2 imgs)

0
0
6

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…