/*
-Minetest-c55
-Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
+Minetest
+Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
#include "rollback_interface.h" // Needed for rollbackRevertActions()
#include <list> // Needed for rollbackRevertActions()
+#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
+
struct LuaState;
typedef struct lua_State lua_State;
class IWritableItemDefManager;
class EventManager;
class PlayerSAO;
class IRollbackManager;
+class EmergeManager;
class ServerError : public std::exception
{
If it is, update the peer to it and quit.
*/
core::list<QueuedBlockEmerge*>::Iterator i;
- for(i=m_queue.begin(); i!=m_queue.end(); i++)
- {
+ for(i=m_queue.begin(); i!=m_queue.end(); i++) {
QueuedBlockEmerge *q = *i;
- if(q->pos == pos)
- {
+ if (q->pos == pos) {
q->peer_ids[peer_id] = flags;
return;
}
*/
QueuedBlockEmerge *q = new QueuedBlockEmerge;
q->pos = pos;
- if(peer_id != 0)
+ if (peer_id != 0)
q->peer_ids[peer_id] = flags;
m_queue.push_back(q);
}
void * Thread();
};
-class EmergeThread : public SimpleThread
-{
- Server *m_server;
-
-public:
-
- EmergeThread(Server *server):
- SimpleThread(),
- m_server(server)
- {
- }
-
- void * Thread();
-
- void trigger()
- {
- setRun(true);
- if(IsRunning() == false)
- {
- Start();
- }
- }
-};
-
struct PlayerInfo
{
u16 id;
// Some timers
float m_liquid_transform_timer;
float m_print_info_timer;
+ float m_masterserver_timer;
float m_objectdata_timer;
float m_emergethread_trigger_timer;
float m_savemap_timer;
JMutex m_con_mutex;
// Connected clients (behind the con mutex)
core::map<u16, RemoteClient*> m_clients;
+ u16 m_clients_number; //for announcing masterserver
// Bann checking
BanManager m_banmanager;
// The server mainly operates in this thread
ServerThread m_thread;
// This thread fetches and generates map
- EmergeThread m_emergethread;
+ //EmergeThread m_emergethread;
// Queue of block coordinates to be processed by the emerge thread
- BlockEmergeQueue m_emerge_queue;
+ //BlockEmergeQueue m_emerge_queue;
/*
Time related stuff