theflyingbirdsmc / tfb-network Goto Github PK
View Code? Open in Web Editor NEWProbably the best open-source Minecraft server network in the world
Home Page: https://theflyingbirds.net
License: Apache License 2.0
Probably the best open-source Minecraft server network in the world
Home Page: https://theflyingbirds.net
License: Apache License 2.0
As a(n) member of TFB's Discord
I want to see how many players are online on the network
So that I get motivated to join in on the fun
Detailed description:
Before we could only see a total number of players that were currently online, but it might be possible to show individual servers because that's what players actually might want to see.
What we possibly want is to see how many total players are online and also if possible in a dedicated channel where it shows which servers on the network where there are players, names of players are not important here.
I added GameStatus bot to our Discord to check it out but it's not as expected. https://top.gg/bot/961389454201860156
I also found this which is interesting https://www.spigotmc.org/resources/discord-statusbot.91444/
Should we develop our own custom bot to do what we want?
Just created this issue to update Lobby with the new spawn haha
Global Chat shortcuts
Global chat for Lead (staff): /l
Global help chat for players: /h
Global chat for players: /c
As a(n) player
I want to play on a survival server where I can claim
So that I don't lose progress and can focus on the community on the server.
Detailed description:
Currently TFB have no servers where you can play survival and not lose your progress/base.
If we have a server like this, players are probably more likely to play on it for hours because it's focused on what you create and not how, like in Vanilla.
We could use a Danish and an English version as those languages cannot play together with a good experience.
Regardless of language, what should be on a TFB Survival server?
As a(n) staff on TFB
I want to improve the economy and shop features on Factions
So that players can use shop more efficient and have more use for their money.
Detailed description:
/sell
hand command./pay
command is an option, but it would require the trust of the other player dropping the item after the money has been sent./f upgrades
menu for Factions need a revamp? It's using the default one currently.We need Dynmap setup on all servers, excluding Factions and Vanilla.
Creative has a dynmap extension that shows plot info on dynmap.
It would be nice if we could show parkour courses somehow.
Does lobby need dynmap?
Can we show multiverse worlds via dynmap? - Will be needed for Museum.
Describe the bug
If you manually fly onto the AutoStart pressure plates on a parkour course, and then try to leave, it will return you to your previous location. Which is the AutoStart pressure plate, and cause you to be stuck in a loop. The only thing that will get you out of the loop, is to break the AutoStart pressure plate with creative. Which causes a huge mess, as you have to rebuild the entire course.
To Reproduce
Fly to a AutoStart pressure plate and activate it, upon attempting to leave or finish, you will simply restart the course.
Expected behavior
I want people to return to spawn upon leaving or finishing the parkour course.
Server (please complete the following information):
Additional context
Doing /kill will drop items on the ground, which shouldn't happen either.
[10.213291, 55.292272]
We need to create some proper README's so that when we get visitors, they know what they are looking at.
Describe the bug
A clear and concise description of what the bug is.
The following message is being spammed in Flamecord console whenever a player is online in the Lobby.
[14:47:39 INFO]: Cancel event from plugin:chcred
To Reproduce
Steps to reproduce the behavior:
Join the Lobby server on Live or local and it will print out 10 of this message to console every second.
Expected behavior
A clear and concise description of what you expected to happen.
We do not want this?
Screenshots
If applicable, add screenshots to help explain your problem.
Server (please complete the following information):
Additional context
Add any other context about the problem here.
As a(n) admin
I want to set a player's nickname for server(s)
So that they are synced on server(s) or per server
Detailed description:
When a player buys a rank, we would now use Essentials nicks and set it on every server from Tebex.
If we used a plugin like HexNicks where we can sync with MySQL and use Papi for placeholders to use in other plugins like ChatControlRed and TAB.
It's open-source 👍
Fuglen should definitely make a nice website for TFB using Umbraco because it's amazing and free for him ;)
It should be modern with links to everything TFB related, maybe even have some blogs/news?
Not to forget pages for "about us", "contact" and "meet the team"!
It should use some data from Plan, so you can see how many players you can join online/total right now.
As a(n) TFB Dev
I want to keep the servers and its plugins, updated
So that everyone can enjoy new content, and not worry about a specific version, but just the newest.
Detailed description:
I want to slowly prepare and update all the plugins that can be updated, so we can prepare for 1.19.4.
Instead of last time where we suddenly had to update everything, and it became a giant list with checkmarks.
So this time I'm ahead of the plugins, and I will only add the plugins that have been updated so far.
If the plugin isn't on the list below, I haven't tested and committed it.
But it would be best if we kept it to one committer and one pull request.
So therefor if you notice any plugins not being on the list, that I haven't noticed being 1.19.4 yet.
Please add it in the comments below and I'll add and test it.
When we got all the plugins we need updated, I will then do a pull request of everything at once after a final test.
(Updated list: 31st May 2023)
Plugin List:
Currently not in use:
Exclusively to Flamecord:
As a(n) Admin
I want to keep my plugins updated
So that we can get the new features and fixes
Detailed description:
As a(n) TFB Staff
I want to keep adding new features for people to enjoy
So that we can keep everything fresh and new for people
Detailed description:
I've looked into this plugin called AdvancedReplay.
It looks super interesting, and pretty basic. But it essentially records the player, their movement and actions, then saves it on the server. And it can be viewed by anyone with permission. You are also able to record someone else, and not just yourself.
I believe this suggestion could be of great interest to YouTubers, streamers, and those with the Phoenix rank. By providing them with access to record their amazing moments on our server, they can instantly share it with everyone. Not only that, but it could also prove to be useful for our staff team in the event of hacking or cheating. This would allow us to quickly record and share any evidence with other staff members for feedback or to highlight important issues.
As a(n) TFB Developer
I want to be able to keep track of the newest plugin versions and updates
So that we can keep the server updated and secure of any insecurities and bugs.
Detailed description:
How do we create a list with all the plugins, and keeping track of the newest updates.
Do we add it to a discord channel, perhaps with a bot notifying us whenever there's a new version available.
Do we add a wiki page here on Github?
As a(n) support team member
I want to create a helpdesk board
So that I can better manage support requests from our users, track the status of each request, assign tickets to team members, and prioritize issues based on their urgency.
Detailed description: Our current support process is becoming inefficient and we are struggling to keep up with the increasing volume of support requests. A helpdesk board would allow us to centralize our support process and ensure that each request is handled in a timely and efficient manner. With this board, we can track the status of each request, assign them to team members, and prioritize issues based on their urgency. This will ultimately help us provide better customer support and improve our overall user experience.
If there is no technical difference on this, other than it would be way easier to keep things separated, I think this would be a really good idea to do. Currently we are naming the servers with _DK or _EU and it just doesn't feel like "best practice"
Getting on those Top Minecraft Server lists is a good way to get new players, so we need to setup voting and rewards.
A reward for every vote should be a random star of a Mystery Egg and a gift they can send to a friend.
A problem I have noticed on other servers where they have like 5 sites to vote on, is that the chat is being spammed for every vote the players give and with more players online... chaos in chat haha.
How do we thank players for their votes and letting other players know so they also get encouraged to do so?
We have multiple "channels" to use like chat, actionbar messages, scoreboard or maybe even a Discord channel?
One idea is to thank players who have voted for the last 15 min and announce it like a "voting report" in the chat.
Show names of players who recently voted and how many votes they have in total?
Lastly, we also want somewhere to show our top voters of all time and by this month. Possibly give the monthly topvoter the community rank that is currently named Lovebird. (See more here about community-ranks)
The plugin we should use for votes: https://www.spigotmc.org/resources/nuvotifier.13449/
The plugin we could use for listening for votes: https://www.spigotmc.org/resources/votingplugin.15358/
As of now we cannot automate the publication of FlameCord/Paper from TFB Dev, but we could use our pipeline to do it for us.
When ever a new tag or something happens on FlameCord/Paper, then we build or download that version and upload it to artifactory. Then we can easily update to latest version whenever we want.
Could this be done for open source plugins too??
As a(n) part of a Minecraft server community
I want to gift Phoenix-like ranks for players who contribute to the community
So that players are encouraged to help, build and fix issues for TFB!
Detailed description:
This idea started between Fuglen and Im_Trofast on 15/01/2023.
TFB have premium ranks but those are only for players who are able to pay for them.
What about our lovely players that give back more value of a Phoenix rank?
Each month these ranks are given for free to those players who have contributed the most to TFB in each their way.
This ranks is given to the player who have contributed with the highest average number of blocks in their builds for TFB to use.
That could be maps for Parkour/Dropper/Elytra, various Minigames (in the future) or even spawns/lobbies.
https://www.kfbg.org/en/KFBG-blog/post/Weaver-Birds-Natures-Top-Architects
The Swift rank is given to the player who have the most contributions on our Github, that would be regarding issues, pull-requests, commits, lines of code, documentation etc.
https://e-voice.org.uk/lewesswiftsupporters/fascinating-facts/
The Lovebird is considered to be a bird you simply cannot resist to love ;)
This rank is given to the player who have been very helpful in chat/Discord etc. possibly recieved some karma/votes from other players. We could also consider votes on Minecraft serverlists to count into this.
https://imparrot.com/facts-about-lovebirds/
We want a rank for Minecraft Youtubers like Festaben (one of Fuglen's old friends who played on TFB before he got popular), so we can encourage youtubers to make videos on TFB to make some top quality content and advertisement.
We should define some requirements for these ranks, Hypixel is a good example again.
https://hypixel.fandom.com/wiki/YouTuber_Rank
As a(n) TFB Staff
I want to share passwords to our services with Bitwarden
So that its easier to use all of our things
Detailed description:
Gotta setup Bitwarden self-hosted because we are not allowed to be more than 2 in our Bitwarden organisation.
https://bitwarden.com/help/install-and-deploy-unified-beta/#specify-environment-variables
Randomly found this build from Planet Minecraft because they send me an email lol.
I think it would be great for a spawn in Vanilla and with the Phoenix on the top or in a tree?
https://www.planetminecraft.com/project/steampunk-spawn-1-16-free-download-5849931/
Describe the bug
/f disband to quit a faction, does not work
To Reproduce
Steps to reproduce the behavior:
Type /f disband in chat
Expected behavior
You're supposed to leave the faction when typing the command
Server (please complete the following information):
Additional context
The devs have released an update to fix the issue, and I'm now updating the plugin
Describe the bug
They don't take dmg from any source on a course.
To Reproduce
Steps to reproduce the behavior:
Join a course, and go into lava, or something that makes you usually take damage
Expected behavior
Players should take damage when being on a course.
With an exception to fall damage on dropper courses, which can be turned off individually.
Server (please complete the following information):
As a(n) player
I want to help TFB with translations of plugins and content
So that everyone gets to enjoy TFB in their native language
Detailed description:
I found out how Hypixel, Discord and even Minecraft itself translates their content... Crowdin!
https://store.crowdin.com/github
Crowdin’s integration with GitHub synchronizes source and translation files between your GitHub repository and translation project in Crowdin. All translated and approved files will be automatically pushed as a pull request to the l10n branch in GitHub repository.
When you click on a server in the Lobby or other servers you get no permission to change to any server.
As a(n) TFB Staff
I want to be able to make the experience for our staff team even better with this feature request for supervanish!
So that we can keep everyone more safe on the server
Detailed description:
Once you type /sv, you go into supervanish, which is all good. But then once you join another server, you no longer have vanish. Which is obviously because it's a different server. But it would be nice if the supervanish carried over so we could keep staying hidden. Because it says in the chat that you left the server once you go into supervanish. But then people see you join a different server, and then you leave again because you type /sv..... Which makes it quite obvious that you're doing something, and that could potentially in the future scare hackers/modders/cheaters away, maybe?
Describe the bug
Me and the Devs of the Parkour and ParkourTopTen plugin, have found out that if the server crashes, gets force killed or stops within 20 seconds of server startup. The config files don't load properly, and gets corrupted, causing them to override themselves.
This has caused all our parkour course times to reset multiple times, and we would like to avoid that by updating the plugin with hopefully a fix.
To Reproduce
Crash, force kill or stop the server within 20 seconds to corrupt the config files.
Expected behavior
The configs from the ParkourTopTen plugin is supposed to be read every time the server started up, by the Parkour plugin.
But any disturbance avoids this, and therefor the Devs have done so the configs only gets read whenever there's an update, change or deletion in the config files.
Server (please complete the following information):
Additional context
This isn't a guarantied fix, but hopefully it works. I've promised to get back to the Devs with an update on whether it fixed the issue or not, once I've tested this on a local server.
As a(n) TFB Staff
I want to easily create new servers
So that I can focus on the real development
Detailed description:
When creating a new server it should be from a template. A template could be a Survival, Factions or a Minigame server.
Requirements:
As a(n) player
I want to to play minigames in nice maps
So that I get the best play experience.
Detailed description:
I want to build this Book Store for some Hide & Seek minigames when TFB have those.
https://sketchfab.com/3d-models/kinderboekenweek-7966f0d24cc84d7099ccb12f5716b852
In 1.19.3 there might be some kind of spectator bug where players are getting kicked for spectating recieving the following error in console ReadTimeoutException : null
and there is not much to find on Google about this.
The problem with pluGET / redcraft-plugin-updater / AutoPlug is that pluGET only support Spigot for now, while redcraft supports multiple sources, it seems outdated/less features and AutoPlug is neat too but they actually break Spigot's ToS, until they get their own API working lol.
The REAL problem is that its fairly manageable to update each plugin individually but it becomes a hazzle the more servers we have. When updating a plugin, we want to update it on all servers its on.
No matter how we do this, there are some requirements
By using SFTP in VSCode we can sync plugins to a remote FTP server where we store Dev plugins for testing and for the pipeline to download. Before merging any PR we want to test if the server starts with no issues etc. so it's good for the pipeline to be able to download everything remotely.
Some key features from this extention (Multiple configurations, Diff local and remote, Switchable profiles)
Configure and setup Vulcan Anti Cheat
If we remove a file in Git there is nothing to upload for the Python deploy script which makes sense.
How can Python see if a file have been deleted? And that it should do that on the Live server?
As a(n) TFB staff.
I want to enhance the GUI on the parkour server, and make it less confusing for players.
So that players can enjoy a finished experience with a complete GUI.
Detailed description:
Demonstration of the unfinished GUI:
Blue = Parkour.
Green = Dropper
Orange = Tutorials
Red = Server related (Rule book and settings)
StreamingDrops gives the option to show when specific players are live on Twitch, which should be shown with a red dot (LIVE) to show they are live on Twitch in the TAB list in Minecraft.
Also, the channel name and link could be in the description(hover name in chat) of the streamer and gets a link when clicked on them.
Github: https://github.com/redcraft-org/redcraft_plugins_updater
It's a plugin updater for 1.18 servers that download and update plugins automatically for a server. This should be installed (automatically) on each server and all servers should eventually use the same folder for downloaded plugins to save space and avoid issues.
In the end, all servers should have their own config with a list of plugins that can be updated automatically. We might even be able to add a botton in the panel so that it's easy for everyone to update plugins on any server without the need of a terminal or commands.
This should all be done in a custom egg in the panel where we also might want to install Git anyway.
By #79, it should be possible to tell which plugins each server uses by its gradle file, where it downloads all the plugins from our Nexus artifactory.
We might never enable everyone to install/remove plugins themselves, but if TFB admins only have to upload new plugins to Nexus, then users can use it in the gradle file.
Problem is: How do we make sure that no one can ever access the plugins that are downloaded from Nexus, while us staff do have access to the files?
Possibly there could be some kind of authentication in our Docker image that decides our permissions to files in the local dev environment. For local environments we can setup Github Runners from our pipeline, so whenever they commit changes, the runner will run the servers on their machine for testing, but again how do we secure the plugins never get out?
Could also be that we give access to anyone with full plugins to another environment like staging?
Can we host a development environment ourselves and set permissions for .jar files only, so they can never be downloaded, edited, renamed to .zip or anything?
The problem with giving plugins to everyone locally is we have no control of our files on their computers.
The problem with giving everyone access to a TFB Staging environment is... How is that even done with Git and all?
As a(n) TFB Staff
I want to easily access the TFB ecosystem
So that it's easier to do things.
Detailed description:
I suspect that we are creating a lot of servers in the future, but how easy is it to create a new server with the complicated setup that we now have?
It needs a folder in the repo, an actual server on Pterodactyl, it's SFTP secrets in Github Pipeline and added in some specific yaml/Python files.
Repository where Antonio is also added - https://github.com/theflyingbirdsmc/Backstage
** Subtasks: **
As a server manager/admin
I want to update plugins easier, test everything in a safe environment and keep track of changes in Git,
so that players can play on TFB without getting affected by our work.
Make a SSOT repo with deployment scripts to make a folder that will be pushed Live (if all tests passes?). The admin does not push to Live server and we can have a shared repo where we can update ALL plugins on ALL servers at once with pluGET. Tricky part is to make dev-env configurations so it works locally and transform all the files ready to deploy so that it "just works" on Live.
The dev-env will contain all servers at once where it's easier to start, switch, and transfer files between them. This also solves the problem with editing multiple files for all our servers at once. If we want to update some part of our tablist in TAB, we can do so in VSCode as described https://stackoverflow.com/questions/37346481/how-do-i-find-and-replace-all-occurrences-in-all-files-in-visual-studio-code - This is only possible if we convert TFB to have only 1 Github repository and I do some tinkering with the dev environment.
Another thing is to have a Github pipeline with local workers to test if the servers that are edited is working as intented and passes some tests and after that it can automatically deploy/continous deliver the changes to Live over SFTP.
THANK YOU Torben Worm (DevOps teacher) for your input, much appreciated!
We need a script to convert Dev configs (IP to database and IP's to servers in FlameCord etc.) and change them to what Live uses. It would also be cool to make a pipeline so that everyone can contribute. The pipeline would need premium plugins which we have to make sure never gets in the hands of non-staff by using SFTP secrets on Github in the pipeline. That way, everyone can commit/push and get their features tested and delivered into the real server.
SUBTASKS:
As a(n) TFB Developer
I want to improve the server experience on our Creative server
So that people can have more fun and enjoy their stay
Detailed description:
I want to test and see if we can add Plot2Dynmap on the Creative server.
It has a lot of interactable features for the plots.
It's outdated, but I can't see a reason why it wouldn't work regardless.
As a(n) player
I want to have access to all heightmaps
So that I can use WorldEdit to build amazing things
Detailed description:
With the "Mountain 5" image and the command "//brush height "file://Mountain 5.png"" I was able to build the image below in a matter of minutes. I think heightmaps are advanced brushes that a scaleable, it keeps changing the entire mountain at all levels when I try to make it higher/smaller/wider.
Link to their demo: https://intellectualsites.github.io/HeightMap/
Link to their repo: https://github.com/IntellectualSites/HeightMap
We would need to host the simple/static website ourselves, but since when have that been an issue? :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.