• Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
Welcome to OpenComputers

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more!

This message will be removed once you have signed in.

  • Announcements

    • Lizzy Trickster

      Latest Stable OpenComputers Version   11/26/16

      The latest released version of OpenComputers is version 1.6.1 for MC 1.7.10, 1.8.9, 1.9.4 & 1.10.2. See more information here! Beta/Dev builds can be found at the Jenkins Build Server (ci.cil.li)
Elijahlorden

operating system
StattenOS - Base control system

11 posts in this topic

https://github.com/elijahlorden/StattenOS

This is a very early implementation of StattenOS, a networked base control system I am developing.

Installation instructions:

You will need a hard drive with an existing OpenOS install, and an internet card to access Pastebin. You will also need one tier 3.5 memory (at least) in order to run the installer.

Navigate to the root directory (which is just up one from the default OpenOS directory) and run the following commands:

pastebin get fNQ4EUTg InstallData

pastebin get uZhxkJLt Installer

The first file may take a moment to download, as it is rather large.

After both of them have downloaded, type 'Installer' into the prompt and wait.  (If you get a 'too long without yielding' error, please report it in this thread)

Once the installation has finished, power the computer off and on again, and it should now boot into StattenOS.  (Currently, if no network card is installed, it will crash)

 

Purpose:

The purpose of StattenOS is to allow a player to automate parts of their base, and then access those parts from anywhere, at any time.  Any device on the network can run a command on any other device, and receive feedback.  Devices can also broadcast notifications across the network to alert the player if something happens while they are out around.  If the OS is updated and you install the update on the central server, you can send the update to all networked devices, you can also create a new StattenOS install from any existing StattenOS install.

Devices currently supported:

SGCraft Stargates - Allow Tablets to wirelessly dial Stargates, and save addresses to the server which are then replicated to other tablets on the network.

Mekanism Fusion Reactors - Allow automated charging and firing of the ignition laser, as well as checking status and a notification if, for whatever reason, the reactor deactivates.

 

StattenOS will load device-specific settings and commands based on what 'Device Driver' it has been set to.  You can use the command 'listDeviceDrivers' to print out a list of these.  In order for the network to function correctly, at least one device must use the 'Server' driver.

StattenOS can also compile task-specific lightweight versions of itself called 'miniApps'.  Currenttly there are two of these:

GCont - Simple gate control program which works with the dialGate and closeGate commands in the Tablet driver.

LRelay - A relay for sending/receiving packets via linked cards.  The primary purpose of this is to allow Tablets a network connection no matter where they are.  (I couldn't get Linked Cards to function properly when placed in Relays)

In order to install one of these apps, insert a floppy disk (I generally use a Floppy disk for these, but you can use a hard drive aswell) into a computer with a StattenOS install, and note the assigned drive letter (Drive A will always be the drive where the StattenOS install is located) and use the command 'installMiniApp driveLetter appName' to install the application on the disk.  The disk can then be removed and placed in another computer.  If a StattenOS update also updates one of the miniApps, you can simply insert the disk and it will automatically be wiped and updated with the new version of the app. (as long as you do not change the label)

 

 

 

 

More information will come later.

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

Interesting OS. Small, simple, and to the point. I like it. BTW, what exactly is the point? It seems heavily network oriented as the title suggests... Base Control.. Sounds neat. I'm looking forward to a breakdown of what you intend this to be :).... 

Share this post


Link to post
Share on other sites

The simplicity is intentional, I prefer to be rather utilitarian with my code.  The system IS very network-oriented.  The goal is to be able to access any device on the network from any other device on the network.  The eventual point of this project is a system which will allow me to control various aspects of my base from anywhere (this is accomplished by using linked cards in the control tablets).  Currently I am going to be focusing mostly on utility.  The first useful function the system will perform is SGCraft related.  I know there are already plenty of gate control systems out there, but mine will have a few additional functions.  All saved addresses are stored on the server, the tablets only keep a cache of this kind of information.  Any change to the registered gates will automatically be replicated to other tablets.  This means large groups of players won't have to manually share any newly created gates.  The gates directly connected to the network will of course have Iris automation.  Long story short, this project aims to centralize things that you would normally create isolated systems for.

Share this post


Link to post
Share on other sites

This is not dead.  Recent updates:

- Finished basic Stargate control implementation

- Added Mekanism fusion reactor control program

 

I will eventually get around to updating the initial post with more information.

Share this post


Link to post
Share on other sites
On 20.4.2017 at 8:32 AM, Elijahlorden said:

All saved addresses are stored on the server, the tablets only keep a cache of this kind of information.  Any change to the registered gates will automatically be replicated to other tablets.  This means large groups of players won't have to manually share any newly created gates.

My stargate control program shares new addresses automatically too but my approach is a bit different it is decentralized instead of centralized.

 

How do you even get the OS to an ingame computer for testing? Do you have an installer?

Could you explain how to use this OS?

Share this post


Link to post
Share on other sites

Currently I manually add the files via windows explorer, but I'm working on an installer that can be downloaded and run from an OpenOS install.  

Share this post


Link to post
Share on other sites

The first OS install will have to be done on top of an existing OpenOS install, which will be erased and replaced with StattenOS.  The OS has a command you can use to install copies of itself to another drive.  Additionally, if you update the OS on the central server, you can use the sendUpdate command to compile and send a copy of the new OS files to every device on the network, which means you don't need to go to every device and update it individually.

Share this post


Link to post
Share on other sites

https://github.com/elijahlorden/StattenOS-Installer

You can get the installer files from here for now.  use wget to close the Installer and InstallData files to files of the same names in the root directory of an existing OpenOS install (not the OpenOS floppy).  Next, run the installer and power cycle the computer once it has completed.  I will add instructions to the initial post (including the wget commands for copy/paste).

Share this post


Link to post
Share on other sites

I tried it now and it stops at "InstallData read into memory, decoing..."

edit:
btw pastebin run mH1ymDs3

It was not enough memory. I had two 1,5 memory now I switched it to two 3,5 memory and I'm getting "too long without yielding".
Why do you have to press a key just to be able to input a command again?

And I don't really understand what I can do with this OS.

 

I found some bugs.

nuJ1vxo.png

wFh2pjT.png

rOMcdSh.png

WcVKply.png

 

I think its highly unlikly that it removes those on every start.
FyrNUV4.png

 

This was a bit confusing. I thought it was still loading.
qjlKPXF.png

Share this post


Link to post
Share on other sites

Wow.  Ok then.  The OS is heavily network-oriented.  It's written so any device can run a command on any other device in the network.  The reason for having to press a key to bring up the prompt is because running one of these commands from the network will mess up the prompt if it is open.  listComponentMethods takes an address, if you look at the arguments listed in 'help listComponentMethods' (I can allow it to look for components by primary if it does not find one by address).  The shutdown/reboot command errors are legit, it's happening because the command does not for the case where a device-specific module (I call these 'Drivers') is not actually loaded (this happens by default since the device is set to 'Default', which does not load a file from /Drivers/.  I forgot to remove some testcode which compiled the installer/InstallData files on boot, which is why it says it's removing them every time it starts (it's also why you see the OS packaging itself every time it starts).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now