aboutsummaryrefslogtreecommitdiff
path: root/src/server/init.cc
diff options
context:
space:
mode:
authorNicolas James <Eele1Ephe7uZahRie@tutanota.com>2025-02-12 21:57:46 +1100
committerNicolas James <Eele1Ephe7uZahRie@tutanota.com>2025-02-12 21:57:46 +1100
commite4483eca01b48b943cd0461e24a74ae1a3139ed4 (patch)
treeed58c3c246e3af1af337697695d780aa31f6ad9a /src/server/init.cc
parent1cc08c51eb4b0f95c30c0a98ad1fc5ad3459b2df (diff)
Update to most recent version (old initial commit)
Diffstat (limited to 'src/server/init.cc')
-rw-r--r--src/server/init.cc45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/server/init.cc b/src/server/init.cc
new file mode 100644
index 0000000..31dca46
--- /dev/null
+++ b/src/server/init.cc
@@ -0,0 +1,45 @@
+#include "server/init.hh"
+
+namespace server {
+
+const shared::args_t& get_options() {
+ static shared::args_t ret{
+ {.name = "seed", .desc = "manually set the worldseed", .val = "S:"},
+ {.name = "directory",
+ .desc = "manually set the directory",
+ .val = "d:"},
+ {.name = "tickrate",
+ .desc = "override the default tickrate",
+ .val = "t:"},
+ {.name = "distance",
+ .desc = "limit the max chunk distance the server provides",
+ .val = "D:"},
+ };
+ return ret;
+}
+
+bool parse_arg(const int& c, const char* const arg) {
+ switch (c) {
+ case 'S':
+ server::state.seed =
+ boost::lexical_cast<decltype(server::state.seed)>(arg);
+ break;
+ case 'd':
+ server::state.directory =
+ boost::lexical_cast<decltype(server::state.directory)>(arg);
+ break;
+ case 't':
+ server::state.tickrate =
+ boost::lexical_cast<decltype(server::state.tickrate)>(arg);
+ break;
+ case 'D':
+ server::state.draw_distance =
+ boost::lexical_cast<decltype(server::state.draw_distance)>(arg);
+ break;
+ default:
+ return false;
+ }
+ return true;
+}
+
+} // namespace server