]> git.lizzy.rs Git - minetest.git/blobdiff - src/server.h
Fix a crash (assert) when client set serial version < 24 in INIT
[minetest.git] / src / server.h
index 4cfc879cdbc0f6197a8b5c30bbc8fa54693abe54..3d6b00d99f65073c843f5561777cbb7b046a3a66 100644 (file)
@@ -29,7 +29,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "mods.h"
 #include "inventorymanager.h"
 #include "subgame.h"
-#include "rollback_interface.h" // Needed for rollbackRevertActions()
 #include "util/numeric.h"
 #include "util/thread.h"
 #include "environment.h"
@@ -50,6 +49,7 @@ class Inventory;
 class Player;
 class PlayerSAO;
 class IRollbackManager;
+struct RollbackAction;
 class EmergeManager;
 class GameScripting;
 class ServerEnvironment;
@@ -268,9 +268,6 @@ class Server : public con::PeerHandler, public MapEventReceiver,
        // Envlock and conlock should be locked when using scriptapi
        GameScripting *getScriptIface(){ return m_script; }
 
-       // Envlock should be locked when using the rollback manager
-       IRollbackManager *getRollbackManager(){ return m_rollback; }
-
        //TODO: determine what (if anything) should be locked to access EmergeManager
        EmergeManager *getEmergeManager(){ return m_emerge; }
 
@@ -289,7 +286,9 @@ class Server : public con::PeerHandler, public MapEventReceiver,
        virtual u16 allocateUnknownNodeId(const std::string &name);
        virtual ISoundManager* getSoundManager();
        virtual MtEventManager* getEventManager();
-       virtual IRollbackReportSink* getRollbackReportSink();
+       virtual scene::ISceneManager* getSceneManager();
+       virtual IRollbackManager *getRollbackManager() { return m_rollback; }
+
 
        IWritableItemDefManager* getWritableItemDefManager();
        IWritableNodeDefManager* getWritableNodeDefManager();
@@ -341,6 +340,9 @@ class Server : public con::PeerHandler, public MapEventReceiver,
                        u8* ser_vers, u16* prot_vers, u8* major, u8* minor, u8* patch,
                        std::string* vers_string);
 
+       // Bind address
+       Address m_bind_addr;
+
 private:
 
        friend class EmergeThread;
@@ -432,8 +434,8 @@ class Server : public con::PeerHandler, public MapEventReceiver,
        void UpdateCrafting(u16 peer_id);
 
        // When called, connection mutex should be locked
-       RemoteClient* getClient(u16 peer_id,ClientState state_min=Active);
-       RemoteClient* getClientNoEx(u16 peer_id,ClientState state_min=Active);
+       RemoteClient* getClient(u16 peer_id,ClientState state_min=CS_Active);
+       RemoteClient* getClientNoEx(u16 peer_id,ClientState state_min=CS_Active);
 
        // When called, environment mutex should be locked
        std::string getPlayerName(u16 peer_id);
@@ -487,7 +489,6 @@ class Server : public con::PeerHandler, public MapEventReceiver,
 
        // Rollback manager (behind m_env_mutex)
        IRollbackManager *m_rollback;
-       bool m_rollback_sink_enabled;
        bool m_enable_rollback_recording; // Updated once in a while
 
        // Emerge manager