summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2020-07-12 03:00:02 +0200
committerDavid Härdeman <david@hardeman.nu>2020-07-12 03:00:02 +0200
commit5b80fdd91ef48c114b6d87b826014466cefc5d03 (patch)
tree140b8c242b558de64a9406e6d03ae4ff5b2e2787
parentf06ff46151c38b2259c5ee4ae83d38c6f6fc0c8c (diff)
Oops...missed git add:ing some files
-rw-r--r--examples/README.TXT33
-rw-r--r--examples/eula.txt5
-rw-r--r--examples/example.mcserver11
-rw-r--r--examples/meson.build6
-rw-r--r--examples/minecctl.conf1
-rw-r--r--shared/server-properties-options.h30
6 files changed, 82 insertions, 4 deletions
diff --git a/examples/README.TXT b/examples/README.TXT
index 4de7a1c..c63c2f6 100644
--- a/examples/README.TXT
+++ b/examples/README.TXT
@@ -1 +1,32 @@
-This is an example README.TXT
+This directory holds the actual data for the Minecraft servers which are
+managed by minecproxy/minecctl.
+
+You need to download the Minecraft server .jar file and place it in this
+folder.
+
+The recommended approach is to download the version(s) of your choice
+and to store them with version numbers.
+
+So, for example, if you go to the minecraft.net server download page[1]
+and download version "1.16.1", then save it in this directory as
+"minecraft_server.1.16.1.jar".
+
+Next, create a symlink to the newly downloaded server to make it the default
+version by executing "ln -sf minecraft_server.1.16.1.jar server.jar".
+
+Whatever "server.jar" is pointing to will be used as the default server
+version.
+
+If you wish to use a particular server version for a particular server
+configuration, change the symlink in the corresponding server directory
+so that it points to a specific server version.
+
+For example, if server "myworld" should be at version 1.15.1, do the
+following (assuming you've already downloaded the corresponding
+Minecraft server .jar):
+
+cd myworld
+rm server.jar
+ln -sf ../minecraft_server.1.15.1.jar server.jar
+
+[1] https://www.minecraft.net/en-us/download/server/
diff --git a/examples/eula.txt b/examples/eula.txt
index aaf5a5a..d783061 100644
--- a/examples/eula.txt
+++ b/examples/eula.txt
@@ -1 +1,4 @@
-This is an example eula
+#By copying this file into any Minecraft server directory, it is assumed
+#that you have agreed to Mojang's EULA, currently available at:
+#https://account.mojang.com/documents/minecraft_eula
+eula=true
diff --git a/examples/example.mcserver b/examples/example.mcserver
index ed919dc..ea7f9bd 100644
--- a/examples/example.mcserver
+++ b/examples/example.mcserver
@@ -1 +1,10 @@
-This is an example mcserver
+[server]
+type = proxy
+name = Example Server
+local = 20003
+idle_timeout = 600
+start_method = systemd
+stop_method = systemd
+# The remaining details will usually be read directly from
+# the server.properties file, assuming that the Minecraft
+# server directory has been installed in the proper location.
diff --git a/examples/meson.build b/examples/meson.build
index 7b525f6..67ddf01 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -33,4 +33,8 @@ install_files = [
'minecserver@.service',
]
-
+install_data(
+ install_files,
+ install_dir: join_paths(get_option('datadir'), 'doc', meson.project_name())
+)
+
diff --git a/examples/minecctl.conf b/examples/minecctl.conf
new file mode 100644
index 0000000..269869b
--- /dev/null
+++ b/examples/minecctl.conf
@@ -0,0 +1 @@
+This is the minecctl conf example
diff --git a/shared/server-properties-options.h b/shared/server-properties-options.h
new file mode 100644
index 0000000..05cba96
--- /dev/null
+++ b/shared/server-properties-options.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef fooserverpropertiesoptionshfoo
+#define fooserverpropertiesoptionshfoo
+
+enum sprop_keys {
+ SPROP_KEY_INVALID = 0,
+ SPROP_KEY_SERVER_PORT,
+ SPROP_KEY_RCON_PORT,
+ SPROP_KEY_RCON_PASSWORD,
+};
+
+struct cfg_key_value_map sprop_key_map[] = {
+ {
+ .key_name = "server-port",
+ .key_value = SPROP_KEY_SERVER_PORT,
+ .value_type = CFG_VAL_TYPE_ADDRS,
+ },
+ {
+ .key_name = "rcon.port",
+ .key_value = SPROP_KEY_RCON_PORT,
+ .value_type = CFG_VAL_TYPE_ADDRS,
+ },
+ {
+ .key_name = "rcon.password",
+ .key_value = SPROP_KEY_RCON_PASSWORD,
+ .value_type = CFG_VAL_TYPE_STRING,
+ }
+};
+
+#endif