From c89d1cf072f4ac34cfb35eadd8c9890b3de1b922 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sat, 10 Mar 2012 15:56:24 +0200 Subject: Initial directory structure rework --- src/server.cpp | 65 ++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 25 deletions(-) (limited to 'src/server.cpp') diff --git a/src/server.cpp b/src/server.cpp index 899624633..69f655e6a 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -843,13 +843,17 @@ u32 PIChecksum(core::list &l) */ Server::Server( - std::string mapsavedir, - std::string configpath + std::string path_world, + std::string path_config, + std::string gamename ): + m_gamename(gamename), + m_path_world(path_world), + m_path_config(path_config), m_env(NULL), m_con(PROTOCOL_ID, 512, CONNECTION_TIMEOUT, this), - m_authmanager(mapsavedir+DIR_DELIM+"auth.txt"), - m_banmanager(mapsavedir+DIR_DELIM+"ipban.txt"), + m_authmanager(path_world+DIR_DELIM+"auth.txt"), + m_banmanager(path_world+DIR_DELIM+"ipban.txt"), m_lua(NULL), m_itemdef(createItemDefManager()), m_nodedef(createNodeDefManager()), @@ -859,12 +863,15 @@ Server::Server( m_time_counter(0), m_time_of_day_send_timer(0), m_uptime(0), - m_mapsavedir(mapsavedir), - m_configpath(configpath), m_shutdown_requested(false), m_ignore_map_edit_events(false), m_ignore_map_edit_events_peer_id(0) { + infostream<<"Server created."<::const_iterator i = m_path_addons.begin(); + i != m_path_addons.end(); i++){ + m_modspaths.push_front((*i) + DIR_DELIM + "mods"); + } // Print out mod search paths - infostream<<"Mod search paths:"<::Iterator i = m_modspaths.begin(); i != m_modspaths.end(); i++){ std::string modspath = *i; infostream<<" "<getMap().addEventReceiver(this); // If file exists, load environment metadata - if(fs::PathExists(m_mapsavedir+DIR_DELIM+"env_meta.txt")) + if(fs::PathExists(m_path_world+DIR_DELIM+"env_meta.txt")) { infostream<<"Server: Loading environment metadata"<loadMeta(m_mapsavedir); + m_env->loadMeta(m_path_world); } // Load players infostream<<"Server: Loading players"<deSerializePlayers(m_mapsavedir); + m_env->deSerializePlayers(m_path_world); /* Add some test ActiveBlockModifiers to environment @@ -1002,13 +1017,13 @@ Server::~Server() Save players */ infostream<<"Server: Saving players"<serializePlayers(m_mapsavedir); + m_env->serializePlayers(m_path_world); /* Save environment metadata */ infostream<<"Server: Saving environment metadata"<saveMeta(m_mapsavedir); + m_env->saveMeta(m_path_world); } /* @@ -1065,7 +1080,7 @@ void Server::start(unsigned short port) m_thread.setRun(true); m_thread.Start(); - infostream<<"Server: Started on port "<getMap().save(MOD_STATE_WRITE_NEEDED); // Save players - m_env->serializePlayers(m_mapsavedir); + m_env->serializePlayers(m_path_world); // Save environment metadata - m_env->saveMeta(m_mapsavedir); + m_env->saveMeta(m_path_world); } } } @@ -4110,8 +4125,8 @@ void Server::setPlayerPassword(const std::string &name, const std::wstring &pass // Saves g_settings to configpath given at initialization void Server::saveConfig() { - if(m_configpath != "") - g_settings->updateConfigFile(m_configpath.c_str()); + if(m_path_config != "") + g_settings->updateConfigFile(m_path_config.c_str()); } void Server::notifyPlayer(const char *name, const std::wstring msg) -- cgit v1.2.3