From df3c925b3ccae3bdba125e6dc3ecc740739baeab Mon Sep 17 00:00:00 2001 From: MirceaKitsune Date: Fri, 8 Feb 2013 22:54:01 +0200 Subject: Improved Player Physics --- src/server.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/server.h') diff --git a/src/server.h b/src/server.h index 86d5513d8..29d47337d 100644 --- a/src/server.h +++ b/src/server.h @@ -602,6 +602,7 @@ private: Static send methods */ + static void SendMovement(con::Connection &con, u16 peer_id); static void SendHP(con::Connection &con, u16 peer_id, u8 hp); static void SendAccessDenied(con::Connection &con, u16 peer_id, const std::wstring &reason); -- cgit v1.2.3 From ee07c3f7cf638e854518d2cfcb9c11a64412cc72 Mon Sep 17 00:00:00 2001 From: proller Date: Fri, 22 Feb 2013 02:00:44 +0400 Subject: new auto masterserver --- src/server.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/server.h') diff --git a/src/server.h b/src/server.h index 29d47337d..22c7cf2bb 100644 --- a/src/server.h +++ b/src/server.h @@ -720,6 +720,7 @@ private: // 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; @@ -737,6 +738,7 @@ private: JMutex m_con_mutex; // Connected clients (behind the con mutex) core::map m_clients; + u16 m_clients_number; //for announcing masterserver // Bann checking BanManager m_banmanager; -- cgit v1.2.3 From b90e431fc785961e7913023999d1f570ad7ca151 Mon Sep 17 00:00:00 2001 From: proller Date: Sun, 24 Feb 2013 18:39:07 +0400 Subject: new adjustable finite liquid --- src/server.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/server.h') diff --git a/src/server.h b/src/server.h index 22c7cf2bb..16bda4372 100644 --- a/src/server.h +++ b/src/server.h @@ -719,6 +719,7 @@ private: // Some timers float m_liquid_transform_timer; + float m_liquid_transform_every; float m_print_info_timer; float m_masterserver_timer; float m_objectdata_timer; -- cgit v1.2.3 From 497ff1ecd64c8908f988e15ca879824f2781e3fd Mon Sep 17 00:00:00 2001 From: PilzAdam Date: Sun, 24 Feb 2013 18:40:43 +0100 Subject: Change Minetest-c55 to Minetest --- src/server.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/server.h') diff --git a/src/server.h b/src/server.h index 22c7cf2bb..157ade086 100644 --- a/src/server.h +++ b/src/server.h @@ -1,5 +1,5 @@ /* -Minetest-c55 +Minetest Copyright (C) 2010-2011 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify -- cgit v1.2.3 From 6d0ea26c2d62c3774ff384cf1bfc2a3372b49a3b Mon Sep 17 00:00:00 2001 From: Sfan5 Date: Sun, 24 Feb 2013 19:38:45 +0100 Subject: Update Copyright Years --- src/server.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/server.h') diff --git a/src/server.h b/src/server.h index 157ade086..26973643a 100644 --- a/src/server.h +++ b/src/server.h @@ -1,6 +1,6 @@ /* Minetest -Copyright (C) 2010-2011 celeron55, Perttu Ahola +Copyright (C) 2010-2013 celeron55, Perttu Ahola 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 -- cgit v1.2.3 From b9d8e59bbf727fcc1a073bbf27e5d1703b9490ef Mon Sep 17 00:00:00 2001 From: kwolekr Date: Wed, 13 Feb 2013 22:43:15 -0500 Subject: Add emerge.cpp, initial EmergeThread changes - Neatly placed all emerge related code into a new file, emerge.cpp - Greatly cleaned up the code in EmergeThread::Thread() - Reworked Emerge queue. Now an actual std::queue of v3s16 block positions - Removed the completely unnecessary map of peer ids requesting blocks --- src/server.h | 39 ++++++++------------------------------- 1 file changed, 8 insertions(+), 31 deletions(-) (limited to 'src/server.h') diff --git a/src/server.h b/src/server.h index 26973643a..e92cbb564 100644 --- a/src/server.h +++ b/src/server.h @@ -39,6 +39,8 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "rollback_interface.h" // Needed for rollbackRevertActions() #include // Needed for rollbackRevertActions() +#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")" + struct LuaState; typedef struct lua_State lua_State; class IWritableItemDefManager; @@ -47,6 +49,7 @@ class IWritableCraftDefManager; class EventManager; class PlayerSAO; class IRollbackManager; +class EmergeManager; class ServerError : public std::exception { @@ -120,11 +123,9 @@ public: If it is, update the peer to it and quit. */ core::list::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; } @@ -136,7 +137,7 @@ public: */ 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); } @@ -200,30 +201,6 @@ public: 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; @@ -785,9 +762,9 @@ private: // 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 -- cgit v1.2.3 From 9b5f182642416add39aab7782b1d155dafead160 Mon Sep 17 00:00:00 2001 From: kwolekr Date: Sat, 23 Feb 2013 22:45:12 -0500 Subject: Remove dead code, relocate some code --- src/server.h | 120 ++++++++++++++--------------------------------------------- 1 file changed, 28 insertions(+), 92 deletions(-) (limited to 'src/server.h') diff --git a/src/server.h b/src/server.h index e92cbb564..907be485d 100644 --- a/src/server.h +++ b/src/server.h @@ -73,115 +73,55 @@ public: */ v3f findSpawnPos(ServerMap &map); -/* - A structure containing the data needed for queueing the fetching - of blocks. -*/ -struct QueuedBlockEmerge -{ - v3s16 pos; - // key = peer_id, value = flags - core::map peer_ids; -}; -/* - This is a thread-safe class. -*/ -class BlockEmergeQueue +class MapEditEventIgnorer { public: - BlockEmergeQueue() + MapEditEventIgnorer(bool *flag): + m_flag(flag) { - m_mutex.Init(); + if(*m_flag == false) + *m_flag = true; + else + m_flag = NULL; } - ~BlockEmergeQueue() + ~MapEditEventIgnorer() { - JMutexAutoLock lock(m_mutex); - - core::list::Iterator i; - for(i=m_queue.begin(); i!=m_queue.end(); i++) + if(m_flag) { - QueuedBlockEmerge *q = *i; - delete q; + assert(*m_flag); + *m_flag = false; } } - /* - peer_id=0 adds with nobody to send to - */ - void addBlock(u16 peer_id, v3s16 pos, u8 flags) - { - DSTACK(__FUNCTION_NAME); - - JMutexAutoLock lock(m_mutex); - - if(peer_id != 0) - { - /* - Find if block is already in queue. - If it is, update the peer to it and quit. - */ - core::list::Iterator i; - for(i=m_queue.begin(); i!=m_queue.end(); i++) { - QueuedBlockEmerge *q = *i; - if (q->pos == pos) { - q->peer_ids[peer_id] = flags; - return; - } - } - } - - /* - Add the block - */ - QueuedBlockEmerge *q = new QueuedBlockEmerge; - q->pos = pos; - if (peer_id != 0) - q->peer_ids[peer_id] = flags; - m_queue.push_back(q); - } - - // Returned pointer must be deleted - // Returns NULL if queue is empty - QueuedBlockEmerge * pop() - { - JMutexAutoLock lock(m_mutex); - - core::list::Iterator i = m_queue.begin(); - if(i == m_queue.end()) - return NULL; - QueuedBlockEmerge *q = *i; - m_queue.erase(i); - return q; - } +private: + bool *m_flag; +}; - u32 size() +class MapEditEventAreaIgnorer +{ +public: + MapEditEventAreaIgnorer(VoxelArea *ignorevariable, const VoxelArea &a): + m_ignorevariable(ignorevariable) { - JMutexAutoLock lock(m_mutex); - return m_queue.size(); + if(m_ignorevariable->getVolume() == 0) + *m_ignorevariable = a; + else + m_ignorevariable = NULL; } - u32 peerItemCount(u16 peer_id) + ~MapEditEventAreaIgnorer() { - JMutexAutoLock lock(m_mutex); - - u32 count = 0; - - core::list::Iterator i; - for(i=m_queue.begin(); i!=m_queue.end(); i++) + if(m_ignorevariable) { - QueuedBlockEmerge *q = *i; - if(q->peer_ids.find(peer_id) != NULL) - count++; + assert(m_ignorevariable->getVolume() != 0); + *m_ignorevariable = VoxelArea(); } - - return count; } private: - core::list m_queue; - JMutex m_mutex; + VoxelArea *m_ignorevariable; }; class Server; @@ -761,10 +701,6 @@ private: // The server mainly operates in this thread ServerThread m_thread; - // This thread fetches and generates map - //EmergeThread m_emergethread; - // Queue of block coordinates to be processed by the emerge thread - //BlockEmergeQueue m_emerge_queue; /* Time related stuff -- cgit v1.2.3