Skip to content

Commit 650168c

Browse files
committedMay 7, 2020
Fix Server triggering wrong errors if environment init fails
1 parent 4f9ccd8 commit 650168c

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed
 

Diff for: ‎src/serverenvironment.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -624,6 +624,9 @@ PlayerSAO *ServerEnvironment::loadPlayer(RemotePlayer *player, bool *new_player,
624624

625625
void ServerEnvironment::saveMeta()
626626
{
627+
if (!m_meta_loaded)
628+
return;
629+
627630
std::string path = m_path_world + DIR_DELIM "env_meta.txt";
628631

629632
// Open file and serialize
@@ -650,6 +653,9 @@ void ServerEnvironment::saveMeta()
650653

651654
void ServerEnvironment::loadMeta()
652655
{
656+
SANITY_CHECK(!m_meta_loaded);
657+
m_meta_loaded = true;
658+
653659
// If file doesn't exist, load default environment metadata
654660
if (!fs::PathExists(m_path_world + DIR_DELIM "env_meta.txt")) {
655661
infostream << "ServerEnvironment: Loading default environment metadata"

Diff for: ‎src/serverenvironment.h

+2
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,8 @@ class ServerEnvironment : public Environment
440440
IntervalLimiter m_active_blocks_management_interval;
441441
IntervalLimiter m_active_block_modifier_interval;
442442
IntervalLimiter m_active_blocks_nodemetadata_interval;
443+
// Whether the variables below have been read from file yet
444+
bool m_meta_loaded = false;
443445
// Time from the beginning of the game in seconds.
444446
// Incremented in step().
445447
u32 m_game_time = 0;

0 commit comments

Comments
 (0)