在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):docker/dockercraft开源软件地址(OpenSource Url):https://github.com/docker/dockercraft开源编程语言(OpenSource Language):Lua 62.3%开源软件介绍(OpenSource Introduction):DockercraftA simple Minecraft Docker client, to visualize and manage Docker containers.
How to run Dockercraft
Customizing DockercraftDo you find the plains too plain? If so, you are in luck! Dockercraft can be customised to use any of the Biomes and Finishers supported by Cuberite! You can pass these additional arguments to your
Here are some examples: Do you long for the calm of the oceans? Try Or perhaps the heat of the desert? Then Are you pining for the... Pines?
We have you covered. Try Or maybe you are looking for fun and games?
If so, Welcome to the Jungle. Upcoming featuresThis is just the beginning for Dockercraft! We should be able to support a lot more Docker features like:
If you're interested about Dockercraft's design, discussions happen in that issue. Also, we're using Magicavoxel to do these nice prototypes: You can find our Magicavoxel patterns in that folder. To get fresh news, follow our Twitter account: @dockercraft. How it worksThe Minecraft client itself remains unmodified. All operations are done server side. The Minecraft server we use is http://cuberite.org. A custom Minecraft compatible game server written in C++. github repo This server accepts plugins, scripts written in Lua. So we did one for Docker. (world/Plugins/Docker) Unfortunately, there's no nice API to communicate with these plugins. But there's a webadmin, and plugins can be responsible for "webtabs". Plugin:AddWebTab("Docker",HandleRequest_Docker) Basically it means the plugin can catch POST requests sent to GoproxyEvents from the Docker remote API are transmitted to the Lua plugin by a small daemon (written in Go). (go/src/goproxy) func MCServerRequest(data url.Values, client *http.Client) {
req, _ := http.NewRequest("POST", "http://127.0.0.1:8080/webadmin/Docker/Docker", strings.NewReader(data.Encode()))
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
req.SetBasicAuth("admin", "admin")
client.Do(req)
} The goproxy binary can also be executed with parameters from the Lua plugin, to send requests to the daemon: function PlayerJoined(Player)
-- refresh containers
r = os.execute("goproxy containers")
end ContributingWant to hack on Dockercraft? Docker's contributions guidelines apply. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论