Performance first, universal Fortnite private server backend written in Go.
Go to file
Eccentric 8d59f63c88 yay
2024-02-16 01:36:07 +00:00
aid Party V2 invites+joining & XMPP MUCs 2024-02-14 20:30:55 +00:00
discord Refactor external data to improve startup time 2024-02-11 00:27:08 +00:00
fortnite Party 2 now has basic functionality 2024-02-12 20:29:02 +00:00
handlers Start on tcp xmpp for seasons 2 <= 2024-02-16 01:14:14 +00:00
person Proper affiliate rewards 2024-02-14 23:07:05 +00:00
socket WHY WONT IT ACCEPT THE STREAM INFO 2024-02-16 01:35:12 +00:00
storage Start on tcp xmpp for seasons 2 <= 2024-02-16 01:14:14 +00:00
.air.toml Improve Display Asset accuracy 2023-12-10 23:54:31 +00:00
.gitignore Continue to research how fortnite storefront works. 2023-11-26 22:39:05 +00:00
default.config.ini Make config easier to follow 2024-02-10 15:26:28 +00:00
go.mod Start on tcp xmpp for seasons 2 <= 2024-02-16 01:14:14 +00:00
go.sum Update to go1.22.0 2024-02-10 01:55:47 +00:00
main_test.go Add permissions test 2024-02-09 23:56:06 +00:00
main.go Start on tcp xmpp for seasons 2 <= 2024-02-16 01:14:14 +00:00
makefile Better 2024-02-10 00:34:12 +00:00
readme.md yay 2024-02-16 01:36:07 +00:00

1

Snow

Performance first, feature-rich universal Fortnite private server backend written in Go.

Overview

  • Single File It will embed all of the external files inside of one executable! This allows the backend to be ran anywhere with no setup (after initial config)!
  • Blazingly Fast Written in Go and built upon Fast HTTP, it is extremely fast and can handle any profile action in milliseconds with its caching system.
  • Automatic Profile Changes Automatically keeps track of profile changes exactly so any external changes are displayed in-game on the next action.
  • Universal Database It is possible to add new database types to satisfy your needs. Currently, it only supports postgresql.

What's up next?

  • Seeded randomization for the Item Shop instead of a random number generator. This will ensure that even if the backend is restarted, the same random items will be in the shop during that day.
  • Purchasing the Battle Pass. This will require the Battle Pass Storefront ID for every build. I am yet to think of a solution for this.
  • Interaction with a Game Server to handle Event Tracking for player statistics and challenges. This will be a very large task as a new specialised game server will need to be created.
  • After the game server addition, a Matchmaking System will be added to match players together for a game. It will use a bin packing algorithm to ensure that games are filled as much as possible.

And once battle royale is completed ...

  • Save The World

Feature List

  • XMPP On every single build. Season 1 & 2 use TCP, Season 3 onwards use Websockets.
  • Friends On every builds with the ability to add and remove friends.
  • Party System V2 This replaces the legacy xmpp driven party system.
  • Gifting Of any item shop entry to any friend.
  • Locker Loadouts On seasons 12 onwards, this allows for the saving and loading of multiple locker presets.
  • Item Refunding Of previous shop purchases, will use a refund ticket if refunded in time.
  • Universal Item Shop Works on all builds and will be updated every 24 hours.
  • Client Settings Storage Uses amazon buckets to store client settings.
  • Support A Creator 5% Use any display name and each purchase will give them 5% of the vbucks spent.
  • Discord Bot Very useful to control players, their inventory and their settings

Supported MCP Actions

QueryProfile, ClientQuestLogin, MarkItemSeen, SetItemFavoriteStatusBatch, EquipBattleRoyaleCustomization, SetBattleRoyaleBanner, SetCosmeticLockerSlot, SetCosmeticLockerBanner, SetCosmeticLockerName, CopyCosmeticLoadout, DeleteCosmeticLoadout, PurchaseCatalogEntry, GiftCatalogEntry, RemoveGiftBox, RefundMtxPurchase, SetAffiliateName, SetReceiveGiftsEnabled

Support

Contributing

Contributions are welcome! Please open an issue or pull request if you would like to contribute. Make sure to follow the same formatting and to keep commits concise and readable e.g. do not change line indents to mess up code review!