IgorTimofeev / MineOS

Home of MineOS and it's software for OpenComputers mod
Other
739 stars 191 forks source link

MineOS Server? #563

Closed Ubus99 closed 1 year ago

Ubus99 commented 1 year ago

MineOS is a great upgrade to OpenOS, but I don't actually need the GUI most of the time. It would be great to have a headless server version of MineOS, to take full advantage of the API even on low-end computers and where no GUI is required.

IgorTimofeev commented 1 year ago

I've never liked console OS + the project has been abandoned for a couple of years, so no

What exactly of the "non-interface" part are you interested in? There are literally a couple of scripts there - a file system, events and serialization... is it still an OS?

Ubus99 commented 1 year ago

I just think that MineOS is overall much nicer to use than OpenOS, specifically component handling, the app framework, build in compression... My server applications eat up a lot of resources polling different data sources and calculating, so reducing RAM and CPU load is a priority. I know I can get all of this in OpenOS by using external scripts, but since I want to build my power display on MineOS anyway, I might as well develop all of my software for this framework.

At the moment I am playing GTNH, where you can start OC2 quite early but only reach Tier 3 in mid-game (after months of grinding), so having a lean option available would be nice.

What do you mean by the project being abandoned? I can see frequent commits. Do you only patch the OS but don't develop new features?

MrFredber commented 1 year ago

Do you only patch the OS but don't develop new features?

Yep, he is only fixing bugs

Ubus99 commented 1 year ago

fair enough

IgorTimofeev commented 1 year ago

I just think that MineOS is overall much nicer to use than OpenOS, specifically component handling, the app framework, build in compression...

Hmm, interesting. In general, working with components was designed the same as in OpenOS. I can't remember what the key difference was xd

I know I can get all of this in OpenOS by using external scripts, but since I want to build my power display on MineOS anyway, I might as well develop all of my software for this framework.

I see, it looks reasonable. In theory, how would you like to interact with applications without an UI? Purely through library logic like require("application").doSomething()?

Ubus99 commented 10 months ago

Hi, didn't see your reply : D

That's basically it, to explain my use case a bit more: I often find myself in the situation that I want to write a server that provides data on something once or twice a second. To do that, I like to have an in-game IDE, access to the marketplace for libs and some util apps that list the API of all connected components. But when the app is finished, I do no longer need any GUI, it would actually take away RAM and CPU time. It would be optimal if I was able to start/stop the display server like on Linux, that would save me the pain of moving the app between computers, but I can see that that is a lot to ask.

IgorTimofeev commented 10 months ago

I was able to start/stop the display server like on Linux,

Hm, good idea, In theory this should not be difficult to implement, unless we need to somehow clean RAM from UI components before disabling screen rendering... the memory leak potential is huge here :(

Btw, how do you see the process itself? Should it be single call to system.setUIVisbility(false) or something like that?