]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/server.h
Handle LuaErrors in Lua -> C++ calls on LuaJIT
[dragonfireclient.git] / src / server.h
index d502d68a0b0fccc77ee45ad0412ed323e10d3047..28678f59c7e4f8dbbceb638d683fda526cb3e7df 100644 (file)
@@ -55,23 +55,6 @@ class ServerEnvironment;
 struct SimpleSoundSpec;
 
 
-class ServerError : public std::exception
-{
-public:
-       ServerError(const std::string &s)
-       {
-               m_s = "ServerError: ";
-               m_s += s;
-       }
-       virtual ~ServerError() throw()
-       {}
-       virtual const char * what() const throw()
-       {
-               return m_s.c_str();
-       }
-       std::string m_s;
-};
-
 /*
        Some random functions
 */
@@ -153,15 +136,6 @@ struct PrioritySortedBlockTransfer
        u16 peer_id;
 };
 
-struct MediaRequest
-{
-       std::string name;
-
-       MediaRequest(const std::string &name_=""):
-               name(name_)
-       {}
-};
-
 struct MediaInfo
 {
        std::string path;
@@ -489,6 +463,7 @@ class Server : public con::PeerHandler, public MapEventReceiver,
 
        bool showFormspec(const char *name, const std::string &formspec, const std::string &formname);
        Map & getMap() { return m_env->getMap(); }
+       ServerEnvironment & getEnv() { return *m_env; }
        
        u32 hudAdd(Player *player, HudElement *element);
        bool hudRemove(Player *player, u32 id);
@@ -555,7 +530,8 @@ class Server : public con::PeerHandler, public MapEventReceiver,
        void sendRemoveNode(v3s16 p, u16 ignore_id=0,
                        std::list<u16> *far_players=NULL, float far_d_nodes=100);
        void sendAddNode(v3s16 p, MapNode n, u16 ignore_id=0,
-                       std::list<u16> *far_players=NULL, float far_d_nodes=100);
+                       std::list<u16> *far_players=NULL, float far_d_nodes=100,
+                       bool remove_metadata=true);
        void setBlockNotSent(v3s16 p);
 
        // Environment and Connection must be locked when called
@@ -567,7 +543,7 @@ class Server : public con::PeerHandler, public MapEventReceiver,
        void fillMediaCache();
        void sendMediaAnnouncement(u16 peer_id);
        void sendRequestedMedia(u16 peer_id,
-                       const std::list<MediaRequest> &tosend);
+                       const std::list<std::string> &tosend);
 
        void sendDetachedInventory(const std::string &name, u16 peer_id);
        void sendDetachedInventoryToAll(const std::string &name);
@@ -684,7 +660,7 @@ class Server : public con::PeerHandler, public MapEventReceiver,
        JMutex m_con_mutex;
        // Connected clients (behind the con mutex)
        std::map<u16, RemoteClient*> m_clients;
-       u16 m_clients_number; //for announcing masterserver
+       std::vector<std::string> m_clients_names; //for announcing masterserver
 
        // Ban checking
        BanManager *m_banmanager;