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

Monicraft

  • 3 Devlogs
  • 14 Total hours

A python GUI app for monitoring a minecraft server running on a pterodactyl panel trough the pterodactyl client API and the Textual python library.

Open comments for this post

5h 10m 23s logged

Monicraft - Settings, Power action buttons, Visual Improvements


  • I’ve added a settings page where you can configure your API key, Panel endpoint and Server ID. It has a save button and automatically saves when leaving the screen, which writes the inputs to an .env file. You can also reset these value’s.
  • I’ve added power action buttons, which can be used to start, restart or stop your minecraft server.
  • I’ve added pop-up toasts for errors and informative messages.
  • I’ve improved the connection funtions to retry every 5 seconds when the connection is lost.

Future Plans:

  • Adding a button to navigate to the settings menu (it is now accessed by sending the settings command).
  • Version manager for Java, Minecraft and Mods.
0
0
3
Open comments for this post

3h 42m 18s logged

Monicraft - Server resources viewer, Sending commands, Chat mode & Styling :python:


  • The console now works properly. It now streams the console directly from your Minecraft server to your terminal trough websockets.
  • The server resources (RAM usage, CPU usage and server state) are now visible in a sidebar and are constantly being updated.
  • It’s now possible to send commands to the server using the input bar at the bottom. I also added a extra “Chat Mode”, it basically puts say in front of every command you send, which makes it easier to chat with the people that are online on your server.
  • The style has been upgraded. I went for a green/nature looking style, because I like the color palette.

Bugs and Future Plans:

  • The Chat Mode button doesn’t change color until you move your cursor after you clicked it, not a big problem, but it is kinda confusing.
  • I wanna add the option to view/update/remove your installed mods on the server and give more insight into the installed version of modloader.
0
0
2
Open comments for this post

4h 48m 39s logged

First devlog for Monicraft!


How I came up with the idea:
I was just thinking about what I could possibly make, I felt like coding, but I just didn’t know what I should make. So I just started playing minecraft as always, on the server with my friends. When I was changing something on the server panel, I was wondering how the panel really works. It turns out almost every hosting provider uses the Pterodactyl dashboard. It relies on a REST API, which is publicly available to anyone. I decided to try and recreate such a panel, but in Python.

The foundation:
The connection with the Pterodactyl API is established trough websockets. I decided to start with a screen which is an overview of the main server resources (such as CPU usage, RAM usage and Storage usage) and the console. The GUI is build with Textual and customized by the built-in TCSS.

What I have done so far:

  • Setup the main code space
  • Do some research about the API and learn how Textual works
  • Design the UI shape
  • Connection with the API trough websockets (WIP)

I initially started this project to learn more about API’s and specifically websockets. I also wanted to see how it would be to build a GUI app in python and if it’s really as hard/bad-looking as everyone says.

0
1
6

Followers

Loading…