Activity

SilentSword

So, I just did the api endpoints to stop and start a server. I uploaded the same video as for the frontend, because, again, that’s how you can see them in action!

0
SilentSword

Alright, so I worked a little bit, made the code more usable and understandable (for both me and you), and added these quick commands tool you can see in the video, they just start and stop the server (and restart, ofc). Now I think I want to figure out how to structure the page, because you can only fit so many elements on a page and it has to be pretty organized.

0
SilentSword

Ok, so I tried to make the server use the WebSocket connection to send, in realtime, the output of the minecraft servers, but apparently, on windows, java sends the output slower when it detects that it is being run in a subprocess, and I tried to make it instant, but I couldn’t figure it out, so im gonna work on other features next such as basic turning on and off the server, etc… and ill focus on the console later.

0
SilentSword

Ok, so in those 2h, I have just made the api work with the frontend. I implemented WebSocket support, and that’s kinda it. I know, I know, even I think it’s too little for 2h of work, but you have to believe me, I am glad it didn’t take me 3h. Even though I wrote a little bit of code, the amount of debugging I had to do is ISNSANE. That doesn’t mean I don’t love programming anymore, it’s my favorite hobby, I was just telling you how things went. Also, you do want to read the devlog from the frontend, I have basically worked on both at the same time. But for now, it’s good night for me❤️
P.S: I uploaded the same video as for the fronted because that’s where you can see the api’s functionality.

0
SilentSword

Ok, it’s been more then 1h and 30m, it’s been actually like 3h but who counts? (me) So anyway, now the webpage actually uses this WebSocket thing. I searched and documented about it and let me tell you what it does. It is a protocol (fancy term, i know, it means a way of transferring data from one server to another) which allows you to send data at the same time to one another with no time limit. It’s the same thing you use to chat on WhatsApp or to call someone. The thing is, it’s complicated to set up (it’s also my first time, but still, it was hard!), but I got it working. The client and the server will establish a WebSocket connection, providing at the handshake moment (the moment when they connect) the server id of which you wish to have access it’s console. For now, I didn’t connect the console, but that’s going to be easy-peasy compared to this WebSocket thing.
Also, I made a UI look kinda better, I still didn’t add those features I mentioned in the last devlog,. My next goal is to go to sleep I think, and I’ll see y’all tomorrow!

0
SilentSword

First devlog!!! Ok, so, I made a very simple webpage with reactjs, and used a library which seems pretty well known to fetch APIs. I used it to get a list of minecraft servers installed on the actual server. It isn’t anything big, but it can fetch data and im happy about it. I made a button so you can even refresh it yourself. I think im going to work a little tiny bit on the UI, then add some features like accessing the minecraft server console from the browser (I’m scared of that because I think I have to use WebSocket, even though I have no ideea how to use it or what it is🥲). But for now, I’m excited!
P.S: Im logging almost 2h of work so my bad for that, and also, in the video, you will see that I tried refreshing the server list. I assure you it worked, but it was just the same:)

0
SilentSword

Ok, im login only 44m, but I have actually worked a little bit more (close to 1h or 1.2h). The program now actually runs the servers in the background, and you can attach whenever to whatever server you want (in the video I only did it with one server because I’m lazy to download 2 minecraft servers). The best part (for me, and for you), it runs on any os!!! So excited to make an mvp and see your reaction on it. Now I think I want to see if there are any bugs or typos, and then I’ll make the API server work, or redesign it and make a simpler api, idk how or what I’ll see. Hope you are as excited as I am for this!!!

0
SilentSword

It has been some time. The running server part was very easy, but I wanted to make the server run in a subprocess and then be able to tap into the subprocess of any server whenever you would like. Finaly, after 30min or more, I gave up and let the features I already implemented stay. The features I implemented now are:

  1. Automatic acceptance of EULA (user must confirm tho)
  2. Automatic launch script creation (works on any os; windows, linux, macOS,… tested only on windows tho:( )
  3. Added a config file where the user can modify the startup script if they know what they are doing.

That’s all for today, I’ll see you tomorrow!

0
SilentSword

Added the feature to automatically download the Minecraft server. Took a while, but it can download any version of vanilla Minecraft servers (basically official, from Mojang, Minecraft’s owners). It will do it in a special directory for servers for easier management. Text thing I have to make the program actually install the server.

0
SilentSword

Created the project with python and made some basic cli interface using questionary. The program is able to start a flask API server and respond to Api calls, providing some test data

0