a thoughtful web.
Good ideas and conversation. No ads, no tracking.   Login or Take a Tour!
comment by Cedar
Cedar  ·  3411 days ago  ·  link  ·    ·  parent  ·  post: What are you working on today?

I've been playing around with programming tools that I can use in teaching, most recently I have been using Python with MCPI on a Spigot server running the RaspberryJuice mod. I've found Martin O'Hanlon's blog really helpful and am slowly learning how I could use this to give an engaging lesson. My hope is to have everything setup to the point that I could host several lessons or an after school club, having the students play together and work through programmatic challenges.

I'm not sure on how I will do that yet: I don't want students mucking up each others work area, or the server, but also want them to have some freedom and not drive extra work for myself checking their code constantly.





psudo  ·  3411 days ago  ·  link  ·  

There's several ways to keep them seperated from each other. I'm not sure what all your set up looks like, but if you're running Linux just keeping them as unprivileged users should be pretty effective at keeping them from tredding on each other's toes. As far as your server set up goes, I'm not familiar with Spigot servers, but if RaspberryJuice isn't too memory intensive you can have several versions running, listening on different ports, that way they can even send and see their stuff without having to wait in line.

Cedar  ·  3411 days ago  ·  link  ·  

I meant workspace within the minecraft world, ideally they would all work on one or two big projects in the game and use the python scripts to either help them build or to provide some interesting interactivity. The only issue with that is they're more likely to use it to grief each other, there may be the possibility of having each player put onto their own map but that would increase the memory requirements quite heavily.

The setup I have in mind would be students working in teams of two or three, coding python locally on one machine and playing minecraft on another, both of which connected to one central server. At the moment I'm running it all on my course provided laptop and it is just about capable of handling one user and a python script, my hope is that when I actually have a classroom available there will be some resources available to me.

Otherwise I could replace the server component here with a Raspberry pi running the minecraft pi server, though I do not know if multiple computers are able to connect to it or not.

psudo  ·  3411 days ago  ·  link  ·  

Ah, yeah, I don't know how to really help there. If you figure out how to stop griefing you'll be able to retire rich.

Best I can figure is to make it one large, module thing, witch each team working on one part, that way they're not competing, hopefully reducing some of the grief.

Cedar  ·  3411 days ago  ·  link  ·  

The best hope is that by having them build parts of the same system in that multiplayer environment, that they'd feel enough ownership of the system not to wreck it all. I'll definitely have to put in a world backup system but the real limiting factor of any solution would be that python script access. I wonder if I could set up some form of authentication and logging so all scripts could be traced back to whoever runs them, I have little experience with Python but I guess the libraries are all accessible so it may be possible to just add it in.

Actually: thinking on it, I could have a gatekeeper so they authenticate with my server which will then pass the connection on to the actual Spigot+RaspberryJuice server perhaps? Otherwise I'd have to modify the RaspberryJuice mod as well, which I suppose is just Java so I'm fairly confident I could do that... blargh.

psudo  ·  3411 days ago  ·  link  ·  

Yeah, the joint ownership was what I was trying to get across. And setting up a simple proxy that logs who does what shouldn't be too hard, that way you don't have to add hooks to what's already there and can have it all in a central place.

And nightly backups of the server shouldn't be too much of a pain and that way even if a troll does muck things up your students only lost a few hours of work.

Cedar  ·  3411 days ago  ·  link  ·  

There's plugins to auto-backup and do all sorts of world management; ultimately I want them to have fun making something, if I can teach them logic gates and programming then all the better. If I can teach them other things such as some basics of architecture or geography, then that's even better!