diff options
author | lhofhansl <larsh@apache.org> | 2022-10-27 19:31:42 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-27 19:31:42 -0700 |
commit | 9aaed75eea0145ef3ee88bdd6d5507e5fd8d76c2 (patch) | |
tree | c884b5ade75411cf8a693519304e7d5d930b7f83 /src/serverenvironment.cpp | |
parent | 88820cd31c2fe21c8c16ee547a3335131e8ba009 (diff) | |
download | minetest-9aaed75eea0145ef3ee88bdd6d5507e5fd8d76c2.tar.xz |
Safety check the map's blocksize (#12895)
Diffstat (limited to 'src/serverenvironment.cpp')
-rw-r--r-- | src/serverenvironment.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/serverenvironment.cpp b/src/serverenvironment.cpp index dfa3e0961..4cdb21a4b 100644 --- a/src/serverenvironment.cpp +++ b/src/serverenvironment.cpp @@ -420,6 +420,13 @@ void ServerEnvironment::init() // If we open world.mt read the backend configurations. if (succeeded) { + // Check that the world's blocksize matches the compiled MAP_BLOCKSIZE + u16 blocksize = 16; + conf.getU16NoEx("blocksize", blocksize); + if (blocksize != MAP_BLOCKSIZE) { + throw BaseException(std::string("The map's blocksize is not supported.")); + } + // Read those values before setting defaults bool player_backend_exists = conf.exists("player_backend"); bool auth_backend_exists = conf.exists("auth_backend"); |