Python Coding

Hello MineOS is working great thanks to some help in this forum.

I am trying to have a multiuser environment where kids can learn to use Python.
Does anyone have a noob tutorial to set up MineOS for this purpose.
tia.

Can you clarify what you’re asking for regarding Python?

Remember, MineOS is simply Debian packaged and shipped with the MineOS scripts (“the webui”) already installed.

In terms of having a multiuser environment, you simply need to create additional users for each of those kids–Python will already be available for them to use from the command line when they log in.

Sorry I wasn’t clear.

This might be the easiest way to explain it.
Although I would prefer a multiuser environment.

I think what you want, then, is simply Minecraft Pi, not MineOS.

MineOS is ideal for when you’re trying to have a server distribution host Minecraft instances, but Minecraft Pi (the educational project) is itself aiming for something very different (and fundamentally not compatible).

https://www.raspberrypi.org/learning/getting-started-with-minecraft-pi/requirements/

While MineOS operates on Raspberry Pi’s, it’s really a very niche audience who would want to make that thing happen. For your kids, You’ll want to have a RPi for each child, because each child will also want to have a screen and keyboard to work with it.

Now, I understand multiuser is a goal (perhaps $ limited?), but while it is probably very possible to have virtual desktops that different users can log into, the hardware behind an RPI is probably too weak to handle more than one simultaneous Minecraft: PI Edition instance along with the IDE.

TLDR: Minecraft: PI Edition is not something you could work together with MineOS–their aims are not compatible.

1 Like

The youtube-tutorial and example you are linking to is a very specialized and custom made minecraft version (pure client) that only runs on rasperry-pi and compatible versions (maybe also virtual, havent looked into that). It also seems it runst with a programmable hook to allow a connection between the Minecraft PIclient, and the python scripts.

MineOS on the other hand is not a minecraft server in it self. MineOS is a webui that runs on top of a unix clone, and that facitliates easier management of minecraft servers. Since Minecraft PI is a specialized client I agree with @hexparrot that the two are not combinable.

There exists however a education version of minecraft servers :https://education.minecraft.net/
That version is, however, not free, and thus not included in the standard profile lists in MineOS. As far as I know, no one in here has tested that version, and I have no idea what kind of software that one is bult on, and thus if it is compatible with MineOS at all. My current guess is that since it needs an Office 365 Education license, it won’t work with MineOS…

Bukkit (a minecraft server type that supports plugins) has a plugin called Rasperryjuice ( https://dev.bukkit.org/projects/raspberryjuice) that claims to give you the same MinecraftPI functionality, but with full version minecraft clients. This would mean that each student would need their own minecraft client, and a computer to play it on. It would not accept minecraft pocket edition clients. MineOS would be able to run this version, but since you still need a client for each student, I am unsure if you really are any closer to a real solution for your scenario. I do however suggest that this may be your best route, if a rasperrby pi to each student is impractical.

doesn’t have to be this version. Actually I would prefer to install canary.

What version you install is of less importance than the following rule of thumb:

  • If what you want to manage is a server, MineOS might be able to help.
  • If what you manage is a client, MineOS is not your answer.

For MineOS to be able to help you your minecraft server files must be made in Java (.jar) or PHP (.phar). MineOS is a WebUI on top of a Linux type system, so it is not able to run Apple or Windows executables.

MineOS do not have the following:

  • user management (it relies on the underlying OS to handle that)
  • any type of payment management (at all).
  • user based resource allocationing and limiting
  • built in Virtual management for managing virtual servers (other than screen)

Thanks both hexparrot and iMelsom

Not trying to use minecraft education because it doesn’t work with servers (new version).

I am basically trying to run a python script that will work on any jar (bukkit) preferred. But I am willing to take suggestions.

I want to run a script such as this.

import mcpi.minecraft as minecraft
mc = minecraft.Minecraft.create(“server ip lan based but not localhost”, 25568)
mc.postToChat(“Hello Minecraft World”)

If I can get this to work then I think I can do the rest.

not interested in any payment system, user management etc.

Then I think the bukkit plugin Rasperry juice is a great step in the right direction, since that is basically what that plugin does… : https://dev.bukkit.org/projects/raspberryjuice

Problems to solve yourself if you decide to not use the above plugin:

  • No “normal” minecraft server really listens to anything other than it’s own server console. MineOS hooks into that console to be able to provide the “stop” command as a button. You can also interact directly with the console from the log section of a server in the WebUI. It do not, however, accept outside commands. Minecraft do however allow you to listen in on certain aspects of the server if you set the “enable-query” property in server.propterties to true. This only allows you to get data from minecraft, not send anything in.

  • Minecraft is pure java, and has no python parser. This means that any python command you use to do something in Minecraft must be translated from python to java (if minecraft listens to incomming javacommands at all), or to the standard command structure of Minecraft. You have the full list of available minecraft commands here: http://minecraft.gamepedia.com/Commands (so that you at least know what commands you need to trigger).

  • to be able to get minecraft to do what I think you suggest above you need to create a plugin for bukkit, or a mod for a forge server, that looks outside minecraft and listens for files or commands. You also need the plug to translate your python scripts to minecraft commands.

Luckily for you somebody seems to have done that allready, if you take a look at the link i gave first in this reply :wink:

Yup that’s it. I need to figure out how to install the plugin raspberryjuice-1.9.jar

Okay maybe I am 1 step closer :slight_smile:

Set up a bukkit server.
start the server. This initiates the server, and generates any files and directories the server needs.
stop the server.
in the server directory there is now a directory called “plugin” your bukkit plugins goes in there
start the server. This starts the server with the plugin, and initiates the plug. This also generates any files the plugin needs
stop the server
configure the plugin configuration in the newly generated files
start the server

You now have a running bukkit server with an active plugin, and yes, you need to start and stop the server several times like that when you install plug

1 Like