Skip to content

F-DDrace is a server-side modification of Teeworlds, developed by fokkonaut.

License

Notifications You must be signed in to change notification settings

fokkonaut/F-DDrace

Repository files navigation

F-DDrace

F-DDrace is a modification of Teeworlds, developed by fokkonaut.
Discord: fokkonaut (old: #5556) or https://discord.gg/qccRrtb

History

My Teeworlds coding history started in the beginning of 2018. ChillerDragon has helped me a lot and introduced me into the world of Teeworlds coding and coding in general.
In the beginning I started with some smaller pull requests on DDNetPP. My first commit in DDNetPP was on January 19, 2018.
This being said, I implemented my first features in DDNetPP, which is also the reason why DDNetPP and F-DDrace have many similarities. I liked the idea of the mod and played it myself for several years. At some point ChillerDragon motivated me to create my own modification where I could really express myself and do things the way I want them to be. Thats when BlockDDrace was born with it's first commit on March 15, 2018.
After 975 commits in BlockDDrace, I wanted to create a new modification based on Vanilla 0.7, because around that time the Teeworlds GitHub was active again and 0.7 got released.
That's when F-DDrace was born with it's first commit on August 14, 2019. I manually ported various parts of the DDNet code to the Vanilla 0.7 code base and on top of that came BlockDDrace. From then on, F-DDrace has been developed more and more and became what it is today: My own personal playground to learn coding, create fun things and to provide something unique for the players. That's also the reason my server is called fokkonaut's playground.
At the time I am writing this right now (February 18, 2023), I made more than 2935 commits on F-DDrace.

Base concept

The code base is a mixture of Vanilla 0.7 and DDNet. In order to achieve that, I ported various parts of the DDNet code base to Vanilla 0.7 and created my mod on top of that.

Originally, this mod was only accessable by a 0.7 client. At some point I added support for DDNet clients via a translation layer between both versions.

That being said, F-DDrace "basically" is a modification of DDNet with extra steps.

The modification itself is designed to be an "open world" game type. You can do anything you want: Chat with others, hang out, farm money on chairs, play minigames, block others, play the race of the map, collect upgrades, buy things from shop, annoy others, form groups and clans, raid specific areas and much more.

The idea was to not have a specific aim to go for, rather play and enjoy the time doing exactly what you want.

Core features

This modification has a lot of features, smaller and bigger ones, and each of these features are designed to work pretty flawlessly with each other.

The core features of this modification are:

  • Multi version support
    As said earlier, F-DDrace is a 0.7 modification. DDNet client support has been implemented perfectly with 100% feature support.

  • 128 player support
    F-DDrace is the first modification to fully support more than 64 players at once. There may have been other modifications before, but F-DDrace implemented the support for more clients perfectly and flawlessly, covering all edge cases as good as possible.
    Also it is the first server to actually reach such high player counts at once, during the very active "corona phase", and therefore testing and improving the performance with live tests made it an unique experience.

  • Account system
    Accounts are used to save your stats, such as your level, experience, money, kills, deaths and much more.
    You can create an account using /register, use /login to log in and use /stats and /account to see some more details about your account.
    In order to protect your account, you can set a security pin using /pin and a contact method using /contact.

  • Shop system
    Using money you have previously farmed you can buy things from the shop, such as cosmetics, upgrades and much more. The shop is integrated into the map.

  • Custom votes menu
    The call vote menu has been adjusted to hold 3 categories: Votes, Account, Miscellaneous. You can switch between them effortlessly and interact with toggle options, value options via reason aswell as collapse elements.
    It's also possible to combine those elements, or add other prefixes such as bullet points.

  • Plots
    One of the biggest features is probably the plot editor and the plots themselves. You can rent a plot ingame and modify it as you like using the self-made and innovative ingame plot editor.
    It allows you to place and do several things:

    • Pickups
      Hearts, shields, weapons.
    • Laser walls
      Modifiable in color, length, angle, thickness and collision on/off.
    • Laser doors
      Doors with matching toggle buttons.
    • Speedups
      Modifiable angle, force speed and max speed.
    • Teleporters
      Modes: In/Out, From, To, Weapon From, Hook From. Evil mode on/off possible (red and blue teleporters)
    • Transformation
      Select a whole area and move, copy, erase or save it at once. Saved drawings can be loaded later on again.
  • Tavern & Grog
    Yes, that's right. You can sit down in a nice tavern and buy some grog for you and your friends. Cheers!

  • Minigames
    You can find a list of minigames using /minigames. When joining a minigame, your complete tee status including position, weapons, extras, etc. will be saved and can be loaded later when leaving the minigame again using /leave. Nothing will be missed and you can continue playing as before.

  • 1vs1 minigame
    The reason why the 1vs1 minigame deserves it's own entry in this list is simple. It's innovative and unique. You can create a 1vs1 lobby using /1vs1 <name> and what's so special about it is, that you can take ANY place from the whole map to play a 1vs1 there. You can enlarge the area using zoom and adjust weapons to be used during the round.

  • Flags and weapon drops
    You can drop flags using F3 key (vote yes key) and weapons using F4 key (vote no key).
    They interact with explosions, shotgun, speedups, teleporters, doors and portals, and can be collected by other players again.
    The flag has a special ability: It can be hooked by players once it's dropped. The flag hooking has been made as smooth as possible and shouldn't look buggy that much.
    You can easily spectate the flags using the spectate menu (bind x +spectate).

  • Persistent gameplay after server restart or reload
    Things such as money drops and plots are saved and loaded upon server start so you don't lose important things. sv_shutdown_save_tees 1 allows you to also save and load all players automatically, even upon restart everything is stored in files and later loaded and matched when you join.

  • Extra weapons
    The inventory has been extended to support more than the regular weapons. If not placed in the map, most of the extra weapons are admin-only.

  • Many settings and commands
    The list of settings and commands can be found in the source files when scrolling down a little bit.

About

F-DDrace is a server-side modification of Teeworlds, developed by fokkonaut.

Resources

License

Stars

Watchers

Forks

Packages

No packages published