51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef SERVER_HEADER
-#define SERVER_HEADER
+#pragma once
-#include "network/connection.h"
#include "irr_v3d.h"
#include "map.h"
#include "hud.h"
#include "inventorymanager.h"
#include "subgame.h"
#include "tileanimation.h" // struct TileAnimationParams
+#include "network/peerhandler.h"
+#include "network/address.h"
#include "util/numeric.h"
#include "util/thread.h"
#include "util/basic_macros.h"
#include "serverenvironment.h"
#include "clientiface.h"
-#include "remoteplayer.h"
#include "chatmessage.h"
#include <string>
#include <list>
class BanManager;
class EventManager;
class Inventory;
+class RemotePlayer;
class PlayerSAO;
class IRollbackManager;
struct RollbackAction;
bool hudChange(RemotePlayer *player, u32 id, HudElementStat stat, void *value);
bool hudSetFlags(RemotePlayer *player, u32 flags, u32 mask);
bool hudSetHotbarItemcount(RemotePlayer *player, s32 hotbar_itemcount);
- s32 hudGetHotbarItemcount(RemotePlayer *player) const
- { return player->getHotbarItemcount(); }
+ s32 hudGetHotbarItemcount(RemotePlayer *player) const;
void hudSetHotbarImage(RemotePlayer *player, std::string name);
std::string hudGetHotbarImage(RemotePlayer *player);
void hudSetHotbarSelectedImage(RemotePlayer *player, std::string name);
- const std::string &hudGetHotbarSelectedImage(RemotePlayer *player) const
- {
- return player->getHotbarSelectedImage();
- }
+ const std::string &hudGetHotbarSelectedImage(RemotePlayer *player) const;
- inline Address getPeerAddress(u16 peer_id)
- { return m_con.GetPeerAddress(peer_id); }
+ Address getPeerAddress(u16 peer_id);
bool setLocalPlayerAnimations(RemotePlayer *player, v2s32 animation_frames[4],
f32 frame_speed);
void DenyAccess(u16 peer_id, AccessDeniedCode reason, const std::string &custom_reason="");
void acceptAuth(u16 peer_id, bool forSudoMode);
void DenyAccess_Legacy(u16 peer_id, const std::wstring &reason);
- bool getClientConInfo(u16 peer_id, con::rtt_stat_type type,float* retval);
+ bool getClientConInfo(u16 peer_id, con::rtt_stat_type type, float* retval);
bool getClientInfo(u16 peer_id,ClientState* state, u32* uptime,
u8* ser_vers, u16* prot_vers, u8* major, u8* minor, u8* patch,
std::string* vers_string);
void SendBlocks(float dtime);
void fillMediaCache();
- void sendMediaAnnouncement(u16 peer_id);
+ void sendMediaAnnouncement(u16 peer_id, const std::string &lang_code);
void sendRequestedMedia(u16 peer_id,
const std::vector<std::string> &tosend);
ServerEnvironment *m_env = nullptr;
// server connection
- con::Connection m_con;
+ std::shared_ptr<con::Connection> m_con;
// Ban checking
BanManager *m_banmanager = nullptr;
Shuts down when kill is set to true.
*/
void dedicated_server_loop(Server &server, bool &kill);
-
-#endif