Dockercraft: Manage Docker containers from Minecraft
github.com
github.com
90s Hollywood thanks you.
― William Gibson, Neuromancer (1984)
When someone forgets which box you are talking about: "You know, that server out by the river."
Or imagine flyig above all of your servers and seeing how they are all interlinked and how the scale of your operation has grown over time.
This is way ahead of its time but there's definitely something here.
* One dude is maintaining Forge/MinecraftCodersPack/Fernflower, which powers pretty much every mod
* Ad-infested forums and adfly links are the preferred way of distributing mods
* The last moddable client version is 1.8.0, 1.9 is out.
* Getting a mod started is really difficult, and it's not clear what should/shouldn't be in source control.
Props to the author for finding a way around all of this.
Update changelog: http://mcupdate.tumblr.com/
Edit: In addition, LexManos is no longer the sole contributor, cpw has returned, and MCP has always been a separate project which has managed to keep a core team.
About 1.9, because the minecraft code is obfuscated and very complex, updating forge to new minecraft versions takes a long time for MCP to release mappings, then forge to port etc, so I'm really not surprised that updating takes a while.
Most mods these days are distributed through curse forge, which although has adverts, is reputable and curse pays per download. The minecraft forums are as buggy and crap laden as always unfortunately.
By MDK do you mean Forge? MDK doesn't seem to be used except in one forum thread.
Mojang/MS are working on version 1.9 but the latest version released (by default) to clients is 1.8.8, the rest are snapshots of 1.9 (IE not official version releases.. which means in turn modding tools and server frameworks will not upgrade until the full release of 1.9)
http://www.learntomod.com/ looks like a good idea but I'm put off by the subscription model.
~ modcraft install <package> # installs <package> to your minecraft server
~ modcraft create <some_new_package_you_wanna_make> # creates a new package with your .gitignore already setup so you can make your own mod
etc. etc.
Years ago when I played minecraft I remember someone was hired specifically to make Minecraft have an API to make modding easier. What happened to that?
Minecraft's mod scene is a mess. Whatever Mojang's efforts were to make the game mod friendly have never seen the light of day. It's really sad because mod authors have done some really amazing stuff with the engine, but because every update breaks everything its too hard to keep most of the running for more than a version or two.
I've heard anecdotal reports of malware being spread through these unofficial mirrors too.
Can you imagine if there had been mods.minecraft.com from the start with some kind of central organisation?
I'm glad to see this though. I have been working on a file editor for minecraft[2] that might eventually work for keeping copies of docker logs, editing code or some such. Advanced VIM functions are not on my docket however. Baby steps.
Maybe more modders will move to mineTest if Microsoft/Mojang continues to sidestep the Minecraft modding community.
[1] http://www.minecraftforum.net/forums/mapping-and-modding/min...
[2] http://www.minecraftforum.net/forums/mapping-and-modding/min...
[1]: https://visualstudiogallery.msdn.microsoft.com/043ab247-8771...
Forge is maintained by cpw and Lex, as well as a large community of modders. MCP is a completely different project and is still headed by Searge and ProfMobius (now with Mojang), among others. And I'm not sure what Fernflower has to do with anything.
>Ad-infested forums and adfly links are the preferred way of distributing mods
Partially true. Many have moved to Curse or CurseForge (which isn't any better).
>The last moddable client version is 1.8.0, 1.9 is out.
1.9 is not out, and work cannot even begin on enabling 1.9 mods until MCP is released. They'd be working with obfuscated code otherwise.
>Getting a mod started is really difficult, and it's not clear what should/shouldn't be in source control.
Having just recently gone through this, I wouldn't say it's that bad. It will generate a .gitignore file for you, and set up workspaces for both IDEA and Eclipse. Other IDEs may be more difficult to setup.
> ...
> 1.9 is not out, and work cannot even begin on enabling 1.9 mods until MCP is released. They'd be working with obfuscated code otherwise.
That's where Fernflower comes in; it deobfuscates the minecraft class files for forge and the modders. If the compiled minecraft jar were to "move enough bytecode" to Java 9 (that's a very inaccurate way to put it, but just for the sake of argument), and Fernflower were to be abandoned before then, it would be extremely difficult for forge and MCP to be updated, let alone all the mods themselves.
"Not enough bricks to establish connection to db container"
"Firewall daemon in container shuts off at night then comes back on automatically at day"
...yea
"Reduced maximum amount of feathers you can get from hitting dead birds with rocks"
"Fixed a bug where robots would spawn underneath the piano."
"Rodent men have no skin"That said, I'm considering installing it just to have an excuse for playing Minecraft at work.
Now, if my network were a castle and bad packets or DDoS attacks looked like Catapults and flaming arrows. It would be very obvious to someone viewing that scene that we are at war and possibly losing. If my walls were huge and the arrows few you would not worry. If my walls were low and small and the arrows many you would realize we are losing. This is an image that can be looked at and understood almost universally, without the need for years of training on what the debug logs in a firewall look like.
So each server on the rack would be linked to a virtual server on a provider, maybe if you use S3 be able to visualize all your storage as if it was a physical storage cluster in your own datacenter. Be pretty awesome, but not sure if it'd be more of a novelty.
Most 2D interfaces are fairly poor. A 3D one would be just as bad.
Pull requests welcome, but I'm unlikely to go back to it any time soon.
Usually you would install java, download the latest server jar and just start it. I was working on a set of scripts to launch multiple containers on the same host and keep track of the ports exposed, but I've only spent a couple of hours on it and jumped to something else https://github.com/pjperez/Multicraft
I've also added a poor man's queue system using Azure Storage :)
Forgive my poor coding; I'm not a developer and only do these things as a hobby.
It is very difficult to get docker containers running locally (at least using the gui tools)
I know that MS believes in it wholesale so am really looking forward to the day when the tools catch up to their promises.
So far I've been bashing my head against the wall whenever I've gotten past "tutorial phase 1"
Getting a webhost, database, memcached, rabbitmq, load balancer etc... All talking to each other on a local 'dev' system... theoretically a perfect mirror of the thing that will be the super scalable production system.
Difficult.
I'm undoubtedly doing stuff wrong, but if there are any docker wizards out there, please point me to your blogs! I'm dying to finally wrap my head around the promises of scalable containerization.
EDIT: I just watched their youtube video. This interface is honestly amazing. To be able to arrange virtual machines in 3d space. What a phenomenal tool. This will really help me learn how to use docker effectively.
Don't try to wade upstream, docker is a Solaris/Linux technology. Just go with the flow. Soon enough, we'll have C#/.NET running on Linux in containers with the CoreCLR project.
And also, SSH works!
Compiles and runs fine, kick off the kestrel web server and you're great.
That is however, specifically, the boiler plate stuff. As soon as I started trying to build a multi project solution with various nuget dependencies, things started to fall apart at compile time.
What was interesting to me was the fact that it was nuget transfers that started timing out and failing in the docker build. I can't actually explain what was happening ... and as a weekend d project it was just non critical to make it work in docker. (As opposed to just make it work "full stop".)
When I have more time and confidence, as well as after the tools have matured a little more, I'm definitely going to take another pass at it.
Internet, please make it happen.
Please no.