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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d8c6c043d8df11258b85810c7f8a9da7da5bc3607bf31daee60893938b3ed66
4
- data.tar.gz: 7aaf21c89202a709645344f64e260c2d11ecc5fa2c7061198970c6b5bedd55ec
3
+ metadata.gz: cb3b051f86d16d811ef54d5c6da31d5fade3cc6ee3949e527d46f3c7f344c6d9
4
+ data.tar.gz: 745bebb170e885eb42cac295434a2ace522d9252cb1da5f72ccbaf609094ee0d
5
5
  SHA512:
6
- metadata.gz: 7892611447478997371d6dcb17e0a4b9d7d9f63e049edfa2760877a4e37a7acc061810b62e018e1124097182dfe5be72f9677296fcd93ffe51b3b7b662868a5c
7
- data.tar.gz: dc954c33183675dd7f19a7640f73cee62deb1ee2fe4f81d9a9d0b2b38d1438cc3336d828af03439c2d04e15f693547881d7016c7e40b59d626ea1e518e47cb8c
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/)[Minecraft End User License Agreement](https://account.mojang.com/terms) and [Privacy Policy](https://privacy.microsoft.com/ja-jp/privacystatement).
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 $IMAGE bash -c "apt-get update && apt-get install -y systemd-sysv"
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
- require 'open-uri'
1
+ package 'unzip'
2
+ package 'curl'
2
3
 
3
- package "unzip"
4
- package "curl"
4
+ VERSION_URL = 'https://minecraft.net/en-us/download/server/bedrock/'.freeze
5
5
 
6
- bedrock_server_url = node[:bedrock_server][:url] || URI.open("https://minecraft.net/en-us/download/server/bedrock/").read.match(/https:\/\/minecraft\.azureedge\.net\/bin-linux\/bedrock-server-[.0-9]*\.zip/).to_s
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 "bedrock-server.zip" do
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 = YAML.load_file("#{__dir__}/../../../../../recipes/node.yml")
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
- "server-name" => string,
10
- "gamemode" => match(/^(survival|creative|adventure)$/),
11
- "difficulty" => match(/^(peaceful|easy|normal|hard)$/),
12
- "allow-cheats" => boolean,
13
- "max-players" => integer,
14
- "online-mode" => boolean,
15
- "white-list" => boolean,
16
- "server-port" => integer,
17
- "server-portv6" => integer,
18
- "view-distance" => integer,
19
- "tick-distance" => integer,
20
- "player-idle-timeout" => integer,
21
- "max-threads" => integer,
22
- "level-name" => string,
23
- "level-seed" => optional(string),
24
- "level-type" => match(/^(FLAT|LEGACY|DEFAULT)$/),
25
- "default-player-permission-level" => match(/^(visitor|member|operator)$/),
26
- "texturepack-required" => boolean,
27
- "content-log-file-enabled" => boolean,
28
- "compression-threshold" => integer,
29
- "server-authoritative-movement" => match(/^(client-auth|server-auth)$/),
30
- "player-movement-score-threshold" => integer,
31
- "player-movement-distance-threshold" => float,
32
- "player-movement-duration-threshold-in-ms" => integer,
33
- "correct-player-movement" => boolean
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
  }
@@ -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
@@ -0,0 +1,5 @@
1
+ [Unit]
2
+ BindsTo=bedrock_server.service
3
+
4
+ [Socket]
5
+ ListenFIFO=%t/bedrock_server
@@ -4,7 +4,7 @@ module Itamae
4
4
  module Plugin
5
5
  module Recipe
6
6
  module BedrockServer
7
- VERSION = "0.2.1"
7
+ VERSION = "0.3.4"
8
8
  end
9
9
  end
10
10
  end
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.2.1
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-24 00:00:00.000000000 Z
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