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

Wingspan for Pterodactyl

  • 6 Devlogs
  • 11 Total hours

A standalone automation app for both linux cli and windows gui which presents a clear and efficient platform to do bulk actions on your pterodactyl panel. You can Purge servers, bulk delete servers, bulk change configs, bulk suspend, and do a Lot Lot more customization than it was ever possible on pterodactyl. This literally changes a hosting owner / manager's life.

Open comments for this post

2h 59m 56s logged

Devlog 6


Progress Done


Its the 11th hour into the project and the progress is booming! I have started working on the interactive menus of the program. I have also started work on the first function, which is “Search and Info”, in which you can select parameters to search from, and it performs bulk search for you, which you can export to a file, or use in the program internally to trigger actions, or get detailed info about. I have also added terminal ui from curses in this, for the parameter selector, and it looks really good! I also worked on algorithms which convert data from pterodactyl to a usable format for mass bulk searching. I am making it in a way that some of the load is shared on the pterodactyl server side for filtering, and the rest is done on machine running this program, so I can minimize the rate limiting and divide load among both the machines for bulk processing and improve speed. For example, basic filter arguments are run on pterodactyl server’s side (Handled built in by pterodactyl), whereas advanced parameter searches are done on user side as generally user’s own system has more threads and is much better than the pterodactyl webserver.


Features Added/Worked on


  • Made menus and sections for first function
  • Worked on algorithms to convert api responses to filterable data
  • Worked on UI by adding curses based parameter selector
  • Made first function, Search and Info

What new I learnt


  • I learnt to work with massive data and make algorithms to convert to usable data
  • I learnt to make my first usable intractable terminal UI from curses
  • I learnt to divide operations and perform load balancing for such bulk data

AI Declaration


Close to None AI was used for this devlog. All the algorithms which were made, where made completely by hand. AI was used for research purposes for curses as its a new field for me. All code blocks where AI has been used are marked in source code!

The attached images show the home page, followed by new menus, along with the parameter selector and more…

0
0
2
Open comments for this post

1h 45m 56s logged

Devlog 5


Progress Done


Its about the 8th hour into the project, Since around the past 1 hour, I have been reading and understanding the entire pterodactyl API. Learning everything from sending requests to sorting data according to needs. Not much progress was done on the main project, though I did a lot of testing in temp files and had a lot of learning.


What new I learnt


  • I learnt to use RestJS API system of Pterodactyl
  • I learnt to use Requests in Python
  • I learnt to capture data and filter/manipulate it from APIs
  • I learnt to manage rate limits and error codes

Sources


Pterodactyl API Docs: https://pterodactyl-api-docs.netvpx.com/docs/intro


AI Declaration


No AI was used for the period of this devlog. Most of the work was only done for understanding and learning purposes which was done in temp files which is essential for the project’s development.

The attached images show the pterodactyl AI docs which I am reading and testing.

0
0
6
Open comments for this post

2h 16m 40s logged

Devlog 4


Progress Done


Its about the 6th hour into the project, I have worked on making a terminal UI on which you can click up and down arrows and space button to select servers from a list to do actions. I did not work on actual API yet, thats kept for the last, currently I am working on data sorting and filter functions and more. I also made a cool banner for the project! Sorry for the late devlog, took a lot of time debugging and learning this one.


Features Added/Worked on


  • Made a cool image banner on canva [No AI]
  • Worked on filtering functions
  • Worked on a better terminal UI with curses
  • Made HomePage

What new I learnt


  • I learnt Graphic Design with Canva
  • I learnt to work with Curses to make terminal UI
  • I learnt to capture button clicks on terminal for functions

AI Declaration


Close to None AI was used for this devlog. I used AI to understand how the curses library works and how to make it perform actions on button clicks. Also, the tech-pterodactyl symbol on the banner was made with AI as I couldnt find a similar icon on the internet.


The attached images show the new banner, followed by the homepage and terminal selector UI demo.

0
0
6
Open comments for this post

1h 37m 33s logged

Devlog 3


Progress Done


Its the 3rd hour into the project, and I have worked on adding args feature (specifically for linux users) and have worked on the project’s banner and interactive setup menu. I have also added verification in the setup fields to ensure that the user fills in correct information, and even guides the user if wrong keys are entered after 2 tries. Alongside with it, I added colors and made a cool ASCII banner. I also added the system to make venv automatically on first boot (supported on both linux/windows) for those who are running the code directly uncompiled.


Features Added/Worked on


  • Added Colorful ASCII Banner [Check Attached Image]
  • Added field verification for setup- Added Args support, Eg. wingspan setup
  • Improved POST
  • Added Auto Venv and Dependency Installer

What new I learnt


  • I learnt to work with ASCII Color Codes
  • I learnt to make args on python
  • I learnt how to work with Venv
  • I learnt to work with Terminal Commands from python to install dependencies

AI Declaration


AI was used for this devlog period for generating the automatic venv and dependencies installer, and making it compatible for both linux and windows at the same time. AI was also used to help with the Args function as I have not had any experience with it before.


The attached images show the program running on both Linux and Windows. First screenshot shows the automatic dependencies installer in action, followed by images of the new banner and guide text if the user enters wrong api key multiple times.

0
0
1
Open comments for this post

1h 34m 55s logged

Devlog 2


Progress Done


Its been about the first hour into the project, and I have well planned everything and have started working on execution. I have started with the linux versions (CMD ONLY), because I dont have experience with GUI Apps and compiling to executables.

I have started on configuration tool, which asks the user for all required API Keys and creates the config files and sets up the installation. I have also worked on a standard automatic dependency downloader, so it runs its own venv on boot, downloads its dependencies there, and runs normally. I would not be compiling it into an executable, so you can take and run it on linux, and copy paste it and run it on windows without any platform change issues. I also set up python library, “logging”, to provide proper logs of every action, because it would be important for the users if anything goes wrong or they need history of the tool’s actions.

I have also added an entire system testing feature (POST) which triggers when the program is turned on. This is to ensure that no issues come while critical server actions are being performed by the software. It also checks if all the configs are built right.


Features Added/Worked on


  • Added Logging System
  • Added Self Config tool
  • Added dependency resolver
  • Added a POST Test

What new I learnt


  • I learnt to work with logging library
  • I learnt different logging levels
  • I learnt how to read and save data into json and env
  • I learnt to work with venv & auto pip installers
  • I learnt that stardance has a 4000 char limit on devlogs
  • I learnt to make a cool startup animation with ASCII
  • I learnt to make a cool looking UI in terminal for config page

AI Declaration


AI was used to make a big empty blueprint list of all functions which I have to code, which makes the work easy as it allows me to visualize the functions pending to create and those which are done. AI was used in ASCII Animation’s character generation.


The attached image shows the ASCII Animation, and then some pics of the AutoConfig window, asking the user to enter the details to perform setup.

0
0
4
Open comments for this post

24m 16s logged

Devlog 1

Project Details


1. The point/scope of this project


So, this is going to be a project for all the hosting owners and homelab operators, who have to manually control/edit each server on pterodactyl to do basic actions which is the same to be done on multiple servers.

If you dont know, Pterodactyl is a game/server hosting control panel which gives you a good UI to make your stuff easier to control and all.. but it does lack bulk change features, and there arent much addons for it, and addons also dont work well and get deleted everytime we upgrade the panel, which is a mess.


2. My Solution for the problem


I would be making a standalone windows app + a linux cmd app which uses pterodactyl API to perform actions. It would provide a very comprehensive UI to specifically allow for bulk actions and add features which arent there in normal pterodactyl.


3. Features of my project


After extensive planning and discussion with several other hosting/homelab owners, I have gathered a list of features which everyone require and would use on a regular basis if there was an app for it.

So, my app would have the following features:

  • Bulk Suspend/Unsuspend
  • Bulk Delete
  • Selective Purge
  • Backup download
  • Bulk resource change, or Copy 1 server’s resources and paste to multiple servers.
  • Bulk Reinstall
  • Bulk Transfer
  • Settings page for storing api keys and more.
  • Email notifications to notify users for bulk actions if scheduled. [Planned for a later stage, to be released with other matching updates]
  • Make a management tab in which all node’s real specs are shown, and heavy overloading or other parameter of servers are shown.
  • Il take suggestions from UI of Proxmox and Proxmox Datacenter manager as thats a really good UI with a lot of pterodactyl usable features.
  • User management features like Bulk Email, Bulk user delete, Specific User Purge (Like delete those without any server), User Clear (Clear all servers of a user)
  • The complete flagship feature of panel speed booster, which does all required purges and makes panel faster
  • Update monitor, so users can safely and reliably update their wingspan installation and get prompted whenever a new release is put.

4. Who am I/What do I do?


I am Brahmtej Singh, a Python Developer, usually working with devops projects like automations and things, so this kinda project is a perfect fit of what I like to do!

Im the founder of HostingKarle, I started with a pledge of providing a safe place to my customers. There are a lot LOT of scams out there in IT/Hosting sector, and I wish to change that. I always prioritized customer experience and trust building, and I also support developers by providing Free hosting services to support their development and projects!


AI Use in Project and Other Details


I am always very clear with AI Use, I believe to use it as a helping tool to navigate through complex logic building and automate repetitive tasks. All my AI use is properly logged and would be attached in every devlog, though I try my best to write what I know by hand.

If you ever wish to contribute or to provide feedback on my work, please feel free to conact me on slack, ID: U0AJ2DDJ996

I always write all my devlogs by hand, every single detail is hand written and not passed through any AI tool, not even for grammatical or syntaxial fixing.

My devlogs are mainly formatted like this:

  • Introduction to what I did
  • What new I learnt
  • Project Impact / Upcoming Changes
  • AI Use Declaration
  • Attached Photo Description

Thankyou for taking interest in my project.


The attached image shows a screenshot of my current and future targets, written and planned out. This much text wouldnt fit in the text space, so had to attach a screenshot of the text planning. (First 15 Minutes into creation)

0
1
11

Followers

Loading…