itamae-plugin-recipe-bedrock_server 0.2.1 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/lib/itamae/plugin/recipe/bedrock_server/install.rb +13 -5
- data/lib/itamae/plugin/recipe/bedrock_server/service.rb +5 -0
- data/lib/itamae/plugin/recipe/bedrock_server/setup.rb +59 -26
- data/lib/itamae/plugin/recipe/bedrock_server/templates/etc/systemd/system/bedrock_server.service.erb +4 -0
- data/lib/itamae/plugin/recipe/bedrock_server/templates/etc/systemd/system/bedrock_server.socket.erb +5 -0
- data/lib/itamae/plugin/recipe/bedrock_server/version.rb +1 -1
- data/mrblib +1 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb3b051f86d16d811ef54d5c6da31d5fade3cc6ee3949e527d46f3c7f344c6d9
|
4
|
+
data.tar.gz: 745bebb170e885eb42cac295434a2ace522d9252cb1da5f72ccbaf609094ee0d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d36e51dcf64e59524476e5d17338336b0d245d115b5035d4f54800b97b88050fbe64763fed17229e74cd32e602670193701aff4432d2d982072c08fcb24a162
|
7
|
+
data.tar.gz: c2890679928a5581b4dccaa3fa2748baa204ed895b84fba1eb9f1a6541da25f78a99b7eef69ad2a574250b5c31eed318fc4f231781bdfb8a46d35e8c149bfd90
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Itamae::Plugin::Recipe::BedrockServer
|
2
2
|
|
3
3
|
Itamae plugin to install [Minecraft](https://www.minecraft.net/) with init scripts.
|
4
|
-
You must read [Minecraft Server Download](https://www.minecraft.net/en-us/download/server/bedrock/)
|
4
|
+
You must read [Minecraft Server Download](https://www.minecraft.net/en-us/download/server/bedrock/) in [Minecraft End User License Agreement](https://account.mojang.com/terms) and [Privacy Policy](https://privacy.microsoft.com/ja-jp/privacystatement).
|
5
5
|
|
6
6
|
[![Gem Version](https://badge.fury.io/rb/itamae-plugin-recipe-bedrock_server.svg)](https://badge.fury.io/rb/itamae-plugin-recipe-bedrock_server)
|
7
7
|
![test](https://github.com/kyohah/itamae-plugin-recipe-bedrock_server/workflows/test/badge.svg)
|
@@ -98,9 +98,9 @@ bedrock_server:
|
|
98
98
|
## Development
|
99
99
|
|
100
100
|
```
|
101
|
-
$ docker run --name tmp-ubuntu
|
101
|
+
$ docker run --name tmp-ubuntu ubuntu:latest bash -c "apt-get update && apt-get install -y systemd-sysv"
|
102
102
|
$ docker commit tmp-ubuntu ubuntu-with-systemd
|
103
|
-
$ docker run --privileged -d ubuntu-with-systemd /sbin/init
|
103
|
+
$ docker run --rm --privileged -d --name container-with-service -p 19132:19132 ubuntu-with-systemd /sbin/init
|
104
104
|
$ bundle exec itamae docker --node-yaml=recipes/node.yml recipes/install.rb --container=container-with-service
|
105
105
|
```
|
106
106
|
|
@@ -1,11 +1,19 @@
|
|
1
|
-
|
1
|
+
package 'unzip'
|
2
|
+
package 'curl'
|
2
3
|
|
3
|
-
|
4
|
-
package "curl"
|
4
|
+
VERSION_URL = 'https://minecraft.net/en-us/download/server/bedrock/'.freeze
|
5
5
|
|
6
|
-
bedrock_server_url =
|
6
|
+
bedrock_server_url =
|
7
|
+
if node[:bedrock_server][:url]
|
8
|
+
node[:bedrock_server][:url]
|
9
|
+
elsif RUBY_ENGINE == 'mruby'
|
10
|
+
run_command(%s(curl -fsSL #{VERSION_URL} | grep -o 'https:\/\/minecraft\.azureedge\.net\/bin-linux\/bedrock-server-[0-9.]\+\.zip')).stdout.chomp
|
11
|
+
else
|
12
|
+
require 'open-uri'
|
13
|
+
URI.parse(VERSION_URL).read.match(%r{https://minecraft.azureedge.net/bin-linux/bedrock-server-[0-9.]+.zip}).to_s
|
14
|
+
end
|
7
15
|
|
8
|
-
http_request
|
16
|
+
http_request 'bedrock-server.zip' do
|
9
17
|
url bedrock_server_url
|
10
18
|
end
|
11
19
|
|
@@ -6,6 +6,11 @@ template environment_file do
|
|
6
6
|
notifies :restart, "service[bedrock_server]"
|
7
7
|
end
|
8
8
|
|
9
|
+
template "/etc/systemd/system/bedrock_server.socket" do
|
10
|
+
mode "644"
|
11
|
+
notifies :restart, "service[bedrock_server]"
|
12
|
+
end
|
13
|
+
|
9
14
|
template "/etc/systemd/system/bedrock_server.service" do
|
10
15
|
mode "644"
|
11
16
|
variables(
|
@@ -1,4 +1,37 @@
|
|
1
|
-
hash =
|
1
|
+
hash = {
|
2
|
+
'bedrock_server' => {
|
3
|
+
'app_dir' => '/opt',
|
4
|
+
'environment' => { 'LD_LIBRARY_PATH' => '.' },
|
5
|
+
'service_actions' => %i[enable start],
|
6
|
+
'configuration' => {
|
7
|
+
'server-name' => 'Dedicated Server',
|
8
|
+
'gamemode' => 'survival',
|
9
|
+
'difficulty' => 'easy',
|
10
|
+
'allow-cheats' => false,
|
11
|
+
'max-players' => 10,
|
12
|
+
'online-mode' => true,
|
13
|
+
'white-list' => false,
|
14
|
+
'server-port' => 19_132,
|
15
|
+
'server-portv6' => 19_133,
|
16
|
+
'view-distance' => 32,
|
17
|
+
'tick-distance' => 4,
|
18
|
+
'player-idle-timeout' => 30,
|
19
|
+
'max-threads' => 8,
|
20
|
+
'level-name' => 'Bedrock level',
|
21
|
+
'level-seed' => '',
|
22
|
+
'level-type' => 'DEFAULT',
|
23
|
+
'default-player-permission-level' => 'member',
|
24
|
+
'texturepack-required' => false,
|
25
|
+
'content-log-file-enabled' => false,
|
26
|
+
'compression-threshold' => 1,
|
27
|
+
'server-authoritative-movement' => 'server-auth',
|
28
|
+
'player-movement-score-threshold' => 20,
|
29
|
+
'player-movement-distance-threshold' => 0.3,
|
30
|
+
'player-movement-duration-threshold-in-ms' => 500,
|
31
|
+
'correct-player-movement' => false
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
2
35
|
|
3
36
|
node.reverse_merge!(hash)
|
4
37
|
|
@@ -6,31 +39,31 @@ node.validate! do
|
|
6
39
|
{
|
7
40
|
bedrock_server: {
|
8
41
|
configuration: {
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
42
|
+
'server-name' => string,
|
43
|
+
'gamemode' => match(/^(survival|creative|adventure)$/),
|
44
|
+
'difficulty' => match(/^(peaceful|easy|normal|hard)$/),
|
45
|
+
'allow-cheats' => boolean,
|
46
|
+
'max-players' => integer,
|
47
|
+
'online-mode' => boolean,
|
48
|
+
'white-list' => boolean,
|
49
|
+
'server-port' => integer,
|
50
|
+
'server-portv6' => integer,
|
51
|
+
'view-distance' => integer,
|
52
|
+
'tick-distance' => integer,
|
53
|
+
'player-idle-timeout' => integer,
|
54
|
+
'max-threads' => integer,
|
55
|
+
'level-name' => string,
|
56
|
+
'level-seed' => optional(string),
|
57
|
+
'level-type' => match(/^(FLAT|LEGACY|DEFAULT)$/),
|
58
|
+
'default-player-permission-level' => match(/^(visitor|member|operator)$/),
|
59
|
+
'texturepack-required' => boolean,
|
60
|
+
'content-log-file-enabled' => boolean,
|
61
|
+
'compression-threshold' => integer,
|
62
|
+
'server-authoritative-movement' => match(/^(client-auth|server-auth)$/),
|
63
|
+
'player-movement-score-threshold' => integer,
|
64
|
+
'player-movement-distance-threshold' => float,
|
65
|
+
'player-movement-duration-threshold-in-ms' => integer,
|
66
|
+
'correct-player-movement' => boolean
|
34
67
|
}
|
35
68
|
}
|
36
69
|
}
|
data/lib/itamae/plugin/recipe/bedrock_server/templates/etc/systemd/system/bedrock_server.service.erb
CHANGED
@@ -8,6 +8,10 @@ Type=simple
|
|
8
8
|
WorkingDirectory=<%= @app_dir %>/bedrock-server
|
9
9
|
ExecStart=<%= @app_dir %>/bedrock-server/bedrock_server
|
10
10
|
Restart=on-failure
|
11
|
+
Sockets=bedrock_server.socket
|
12
|
+
StandardInput=socket
|
13
|
+
StandardOutput=journal
|
14
|
+
StandardError=journal
|
11
15
|
|
12
16
|
[Install]
|
13
17
|
WantedBy=multi-user.target
|
data/mrblib
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
./lib
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itamae-plugin-recipe-bedrock_server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kyohah
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-01-
|
11
|
+
date: 2021-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: itamae
|
@@ -79,7 +79,9 @@ files:
|
|
79
79
|
- lib/itamae/plugin/recipe/bedrock_server/templates/bedrock-server/server.properties.erb
|
80
80
|
- lib/itamae/plugin/recipe/bedrock_server/templates/etc/default/bedrock_server.erb
|
81
81
|
- lib/itamae/plugin/recipe/bedrock_server/templates/etc/systemd/system/bedrock_server.service.erb
|
82
|
+
- lib/itamae/plugin/recipe/bedrock_server/templates/etc/systemd/system/bedrock_server.socket.erb
|
82
83
|
- lib/itamae/plugin/recipe/bedrock_server/version.rb
|
84
|
+
- mrblib
|
83
85
|
- recipes/install.rb
|
84
86
|
- recipes/node.yml
|
85
87
|
homepage: https://github.com/kyohah/itamae-plugin-recipe-bedrock_server
|