Minetest  5.4.0
Server Class Reference

#include <server.h>

+ Inheritance diagram for Server:
+ Collaboration diagram for Server:

Classes

struct  ShutdownState
 

Public Member Functions

 Server (const std::string &path_world, const SubgameSpec &gamespec, bool simple_singleplayer_mode, Address bind_addr, bool dedicated, ChatInterface *iface=nullptr, std::string *on_shutdown_errmsg=nullptr)
 
 ~Server ()
 
 DISABLE_CLASS_COPY (Server)
 
void start ()
 
void stop ()
 
void step (float dtime)
 
void AsyncRunStep (bool initial_step=false)
 
void Receive ()
 
PlayerSAOStageTwoClientInit (session_t peer_id)
 
void handleCommand (NetworkPacket *pkt)
 
void handleCommand_Null (NetworkPacket *pkt)
 
void handleCommand_Deprecated (NetworkPacket *pkt)
 
void handleCommand_Init (NetworkPacket *pkt)
 
void handleCommand_Init2 (NetworkPacket *pkt)
 
void handleCommand_ModChannelJoin (NetworkPacket *pkt)
 
void handleCommand_ModChannelLeave (NetworkPacket *pkt)
 
void handleCommand_ModChannelMsg (NetworkPacket *pkt)
 
void handleCommand_RequestMedia (NetworkPacket *pkt)
 
void handleCommand_ClientReady (NetworkPacket *pkt)
 
void handleCommand_GotBlocks (NetworkPacket *pkt)
 
void handleCommand_PlayerPos (NetworkPacket *pkt)
 
void handleCommand_DeletedBlocks (NetworkPacket *pkt)
 
void handleCommand_InventoryAction (NetworkPacket *pkt)
 
void handleCommand_ChatMessage (NetworkPacket *pkt)
 
void handleCommand_Damage (NetworkPacket *pkt)
 
void handleCommand_PlayerItem (NetworkPacket *pkt)
 
void handleCommand_Respawn (NetworkPacket *pkt)
 
void handleCommand_Interact (NetworkPacket *pkt)
 
void handleCommand_RemovedSounds (NetworkPacket *pkt)
 
void handleCommand_NodeMetaFields (NetworkPacket *pkt)
 
void handleCommand_InventoryFields (NetworkPacket *pkt)
 
void handleCommand_FirstSrp (NetworkPacket *pkt)
 
void handleCommand_SrpBytesA (NetworkPacket *pkt)
 
void handleCommand_SrpBytesM (NetworkPacket *pkt)
 
void ProcessData (NetworkPacket *pkt)
 
void Send (NetworkPacket *pkt)
 
void Send (session_t peer_id, NetworkPacket *pkt)
 
void process_PlayerPos (RemotePlayer *player, PlayerSAO *playersao, NetworkPacket *pkt)
 
void setTimeOfDay (u32 time)
 
void onMapEditEvent (const MapEditEvent &event)
 
std::string getStatusString ()
 
double getUptime () const
 
bool isShutdownRequested () const
 
void requestShutdown (const std::string &msg, bool reconnect, float delay=0.0f)
 
s32 playSound (const SimpleSoundSpec &spec, const ServerSoundParams &params, bool ephemeral=false)
 
void stopSound (s32 handle)
 
void fadeSound (s32 handle, float step, float gain)
 
std::set< std::string > getPlayerEffectivePrivs (const std::string &name)
 
bool checkPriv (const std::string &name, const std::string &priv)
 
void reportPrivsModified (const std::string &name="")
 
void reportInventoryFormspecModified (const std::string &name)
 
void reportFormspecPrependModified (const std::string &name)
 
void setIpBanned (const std::string &ip, const std::string &name)
 
void unsetIpBanned (const std::string &ip_or_name)
 
std::string getBanDescription (const std::string &ip_or_name)
 
void notifyPlayer (const char *name, const std::wstring &msg)
 
void notifyPlayers (const std::wstring &msg)
 
void spawnParticle (const std::string &playername, const ParticleParameters &p)
 
u32 addParticleSpawner (const ParticleSpawnerParameters &p, ServerActiveObject *attached, const std::string &playername)
 
void deleteParticleSpawner (const std::string &playername, u32 id)
 
bool dynamicAddMedia (const std::string &filepath, std::vector< RemotePlayer * > &sent_to)
 
ServerInventoryManagergetInventoryMgr () const
 
void sendDetachedInventory (Inventory *inventory, const std::string &name, session_t peer_id)
 
ServerScriptinggetScriptIface ()
 
bool rollbackRevertActions (const std::list< RollbackAction > &actions, std::list< std::string > *log)
 
virtual IItemDefManagergetItemDefManager ()
 
virtual const NodeDefManagergetNodeDefManager ()
 
virtual ICraftDefManagergetCraftDefManager ()
 
virtual u16 allocateUnknownNodeId (const std::string &name)
 
IRollbackManagergetRollbackManager ()
 
virtual EmergeManagergetEmergeManager ()
 
IWritableItemDefManagergetWritableItemDefManager ()
 
NodeDefManagergetWritableNodeDefManager ()
 
IWritableCraftDefManagergetWritableCraftDefManager ()
 
virtual const std::vector< ModSpec > & getMods () const
 
virtual const ModSpecgetModSpec (const std::string &modname) const
 
void getModNames (std::vector< std::string > &modlist)
 
std::string getBuiltinLuaPath ()
 
virtual std::string getWorldPath () const
 
virtual std::string getModStoragePath () const
 
bool isSingleplayer ()
 
void setAsyncFatalError (const std::string &error)
 
bool showFormspec (const char *name, const std::string &formspec, const std::string &formname)
 
MapgetMap ()
 
ServerEnvironmentgetEnv ()
 
v3f findSpawnPos ()
 
u32 hudAdd (RemotePlayer *player, HudElement *element)
 
bool hudRemove (RemotePlayer *player, u32 id)
 
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)
 
void hudSetHotbarImage (RemotePlayer *player, const std::string &name)
 
void hudSetHotbarSelectedImage (RemotePlayer *player, const std::string &name)
 
Address getPeerAddress (session_t peer_id)
 
void setLocalPlayerAnimations (RemotePlayer *player, v2s32 animation_frames[4], f32 frame_speed)
 
void setPlayerEyeOffset (RemotePlayer *player, const v3f &first, const v3f &third)
 
void setSky (RemotePlayer *player, const SkyboxParams &params)
 
void setSun (RemotePlayer *player, const SunParams &params)
 
void setMoon (RemotePlayer *player, const MoonParams &params)
 
void setStars (RemotePlayer *player, const StarParams &params)
 
void setClouds (RemotePlayer *player, const CloudParams &params)
 
void overrideDayNightRatio (RemotePlayer *player, bool do_override, float brightness)
 
void peerAdded (con::Peer *peer)
 
void deletingPeer (con::Peer *peer, bool timeout)
 
void DenySudoAccess (session_t peer_id)
 
void DenyAccessVerCompliant (session_t peer_id, u16 proto_ver, AccessDeniedCode reason, const std::string &str_reason="", bool reconnect=false)
 
void DenyAccess (session_t peer_id, AccessDeniedCode reason, const std::string &custom_reason="")
 
void acceptAuth (session_t peer_id, bool forSudoMode)
 
void DenyAccess_Legacy (session_t peer_id, const std::wstring &reason)
 
void DisconnectPeer (session_t peer_id)
 
bool getClientConInfo (session_t peer_id, con::rtt_stat_type type, float *retval)
 
bool getClientInfo (session_t peer_id, ClientInfo &ret)
 
void printToConsoleOnly (const std::string &text)
 
void SendPlayerHPOrDie (PlayerSAO *player, const PlayerHPChangeReason &reason)
 
void SendPlayerBreath (PlayerSAO *sao)
 
void SendInventory (PlayerSAO *playerSAO, bool incremental)
 
void SendMovePlayer (session_t peer_id)
 
void SendPlayerSpeed (session_t peer_id, const v3f &added_vel)
 
void SendPlayerFov (session_t peer_id)
 
void SendMinimapModes (session_t peer_id, std::vector< MinimapMode > &modes, size_t wanted_mode)
 
void sendDetachedInventories (session_t peer_id, bool incremental)
 
virtual bool registerModStorage (ModMetadata *storage)
 
virtual void unregisterModStorage (const std::string &name)
 
bool joinModChannel (const std::string &channel)
 
bool leaveModChannel (const std::string &channel)
 
bool sendModChannelMessage (const std::string &channel, const std::string &message)
 
ModChannelgetModChannel (const std::string &channel)
 
bool SendBlock (session_t peer_id, const v3s16 &blockpos)
 
TranslationsgetTranslationLanguage (const std::string &lang_code)
 
- Public Member Functions inherited from con::PeerHandler
 PeerHandler ()=default
 
virtual ~PeerHandler ()=default
 
- Public Member Functions inherited from IGameDef
IItemDefManageridef ()
 
const NodeDefManagerndef ()
 
ICraftDefManagercdef ()
 
IRollbackManagerrollback ()
 

Public Attributes

Address m_bind_addr
 
std::mutex m_env_mutex
 

Private Member Functions

void init ()
 
void SendMovement (session_t peer_id)
 
void SendHP (session_t peer_id, u16 hp)
 
void SendBreath (session_t peer_id, u16 breath)
 
void SendAccessDenied (session_t peer_id, AccessDeniedCode reason, const std::string &custom_reason, bool reconnect=false)
 
void SendAccessDenied_Legacy (session_t peer_id, const std::wstring &reason)
 
void SendDeathscreen (session_t peer_id, bool set_camera_point_target, v3f camera_point_target)
 
void SendItemDef (session_t peer_id, IItemDefManager *itemdef, u16 protocol_version)
 
void SendNodeDef (session_t peer_id, const NodeDefManager *nodedef, u16 protocol_version)
 
void SetBlocksNotSent (std::map< v3s16, MapBlock * > &block)
 
virtual void SendChatMessage (session_t peer_id, const ChatMessage &message)
 
void SendTimeOfDay (session_t peer_id, u16 time, f32 time_speed)
 
void SendPlayerHP (session_t peer_id)
 
void SendLocalPlayerAnimations (session_t peer_id, v2s32 animation_frames[4], f32 animation_speed)
 
void SendEyeOffset (session_t peer_id, v3f first, v3f third)
 
void SendPlayerPrivileges (session_t peer_id)
 
void SendPlayerInventoryFormspec (session_t peer_id)
 
void SendPlayerFormspecPrepend (session_t peer_id)
 
void SendShowFormspecMessage (session_t peer_id, const std::string &formspec, const std::string &formname)
 
void SendHUDAdd (session_t peer_id, u32 id, HudElement *form)
 
void SendHUDRemove (session_t peer_id, u32 id)
 
void SendHUDChange (session_t peer_id, u32 id, HudElementStat stat, void *value)
 
void SendHUDSetFlags (session_t peer_id, u32 flags, u32 mask)
 
void SendHUDSetParam (session_t peer_id, u16 param, const std::string &value)
 
void SendSetSky (session_t peer_id, const SkyboxParams &params)
 
void SendSetSun (session_t peer_id, const SunParams &params)
 
void SendSetMoon (session_t peer_id, const MoonParams &params)
 
void SendSetStars (session_t peer_id, const StarParams &params)
 
void SendCloudParams (session_t peer_id, const CloudParams &params)
 
void SendOverrideDayNightRatio (session_t peer_id, bool do_override, float ratio)
 
void broadcastModChannelMessage (const std::string &channel, const std::string &message, session_t from_peer)
 
void sendRemoveNode (v3s16 p, std::unordered_set< u16 > *far_players=nullptr, float far_d_nodes=100)
 
void sendAddNode (v3s16 p, MapNode n, std::unordered_set< u16 > *far_players=nullptr, float far_d_nodes=100, bool remove_metadata=true)
 
void sendMetadataChanged (const std::list< v3s16 > &meta_updates, float far_d_nodes=100)
 
void SendBlockNoLock (session_t peer_id, MapBlock *block, u8 ver, u16 net_proto_version)
 
void SendBlocks (float dtime)
 
bool addMediaFile (const std::string &filename, const std::string &filepath, std::string *filedata=nullptr, std::string *digest=nullptr)
 
void fillMediaCache ()
 
void sendMediaAnnouncement (session_t peer_id, const std::string &lang_code)
 
void sendRequestedMedia (session_t peer_id, const std::vector< std::string > &tosend)
 
void SendAddParticleSpawner (session_t peer_id, u16 protocol_version, const ParticleSpawnerParameters &p, u16 attached_id, u32 id)
 
void SendDeleteParticleSpawner (session_t peer_id, u32 id)
 
void SendSpawnParticle (session_t peer_id, u16 protocol_version, const ParticleParameters &p)
 
void SendActiveObjectRemoveAdd (RemoteClient *client, PlayerSAO *playersao)
 
void SendActiveObjectMessages (session_t peer_id, const std::string &datas, bool reliable=true)
 
void SendCSMRestrictionFlags (session_t peer_id)
 
void DiePlayer (session_t peer_id, const PlayerHPChangeReason &reason)
 
void RespawnPlayer (session_t peer_id)
 
void DeleteClient (session_t peer_id, ClientDeletionReason reason)
 
void UpdateCrafting (RemotePlayer *player)
 
bool checkInteractDistance (RemotePlayer *player, const f32 d, const std::string &what)
 
void handleChatInterfaceEvent (ChatEvent *evt)
 
std::wstring handleChat (const std::string &name, std::wstring wmessage_input, bool check_shout_priv=false, RemotePlayer *player=nullptr)
 
void handleAdminChat (const ChatEventChat *evt)
 
RemoteClientgetClient (session_t peer_id, ClientState state_min=CS_Active)
 
RemoteClientgetClientNoEx (session_t peer_id, ClientState state_min=CS_Active)
 
std::string getPlayerName (session_t peer_id)
 
PlayerSAOgetPlayerSAO (session_t peer_id)
 
PlayerSAOemergePlayer (const char *name, session_t peer_id, u16 proto_version)
 
void handlePeerChanges ()
 
s32 nextSoundId ()
 

Private Attributes

std::string m_path_world
 
SubgameSpec m_gamespec
 
bool m_simple_singleplayer_mode
 
u16 m_max_chatmessage_length
 
bool m_dedicated
 
Settingsm_game_settings = nullptr
 
MutexedVariable< std::string > m_async_fatal_error
 
float m_liquid_transform_timer = 0.0f
 
float m_liquid_transform_every = 1.0f
 
float m_masterserver_timer = 0.0f
 
float m_emergethread_trigger_timer = 0.0f
 
float m_savemap_timer = 0.0f
 
IntervalLimiter m_map_timer_and_unload_interval
 
ServerEnvironmentm_env = nullptr
 
ServerMapm_startup_server_map = nullptr
 
std::shared_ptr< con::Connectionm_con
 
BanManagerm_banmanager = nullptr
 
IRollbackManagerm_rollback = nullptr
 
EmergeManagerm_emerge = nullptr
 
ServerScriptingm_script = nullptr
 
IWritableItemDefManagerm_itemdef
 
NodeDefManagerm_nodedef
 
IWritableCraftDefManagerm_craftdef
 
std::unique_ptr< ServerModManagerm_modmgr
 
std::unordered_map< std::string, Translationsserver_translations
 
float m_step_dtime = 0.0f
 
std::mutex m_step_dtime_mutex
 
ServerThreadm_thread = nullptr
 
float m_time_of_day_send_timer = 0.0f
 
ClientInterface m_clients
 
std::queue< con::PeerChangem_peer_change_queue
 
std::unordered_map< session_t, std::string > m_formspec_state_data
 
ShutdownState m_shutdown_state
 
ChatInterfacem_admin_chat
 
std::string m_admin_nick
 
std::string *const m_on_shutdown_errmsg
 
std::queue< MapEditEvent * > m_unsent_map_edit_queue
 
VoxelArea m_ignore_map_edit_events_area
 
std::unordered_map< std::string, MediaInfom_media
 
std::unordered_map< s32, ServerPlayingSoundm_playing_sounds
 
s32 m_next_sound_id = 0
 
std::unordered_map< std::string, ModMetadata * > m_mod_storages
 
float m_mod_storage_save_timer = 10.0f
 
u64 m_csm_restriction_flags = CSMRestrictionFlags::CSM_RF_NONE
 
u32 m_csm_restriction_noderange = 8
 
std::unique_ptr< ModChannelMgrm_modchannel_mgr
 
std::unique_ptr< ServerInventoryManagerm_inventory_mgr
 
std::unique_ptr< MetricsBackendm_metrics_backend
 
MetricCounterPtr m_uptime_counter
 
MetricGaugePtr m_player_gauge
 
MetricGaugePtr m_timeofday_gauge
 
MetricGaugePtr m_lag_gauge
 
MetricCounterPtr m_aom_buffer_counter
 
MetricCounterPtr m_packet_recv_counter
 
MetricCounterPtr m_packet_recv_processed_counter
 

Friends

class EmergeThread
 
class RemoteClient
 
class TestServerShutdownState
 

Constructor & Destructor Documentation

◆ Server()

Server::Server ( const std::string &  path_world,
const SubgameSpec gamespec,
bool  simple_singleplayer_mode,
Address  bind_addr,
bool  dedicated,
ChatInterface iface = nullptr,
std::string *  on_shutdown_errmsg = nullptr 
)

References g_settings, Settings::getFloat(), SubgameSpec::isValid(), m_aom_buffer_counter, m_lag_gauge, m_metrics_backend, m_packet_recv_counter, m_packet_recv_processed_counter, m_path_world, m_player_gauge, m_timeofday_gauge, and m_uptime_counter.

+ Here is the call graph for this function:

◆ ~Server()

Member Function Documentation

◆ acceptAuth()

void Server::acceptAuth ( session_t  peer_id,
bool  forSudoMode 
)

References AUTH_MECHANISM_FIRST_SRP, CS_Invalid, CSE_AuthAccept, CSE_SudoSuccess, ClientInterface::event(), g_settings, getClient(), Settings::getFloat(), ServerMap::getSeed(), ServerEnvironment::getServerMap(), m_clients, m_env, Send(), TOCLIENT_ACCEPT_SUDO_MODE, and TOCLIENT_AUTH_ACCEPT.

Referenced by handleCommand_FirstSrp(), and handleCommand_SrpBytesM().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addMediaFile()

bool Server::addMediaFile ( const std::string &  filename,
const std::string &  filepath,
std::string *  filedata = nullptr,
std::string *  digest = nullptr 
)
private

References SHA1::addBytes(), base64_encode(), errorstream, SHA1::getDigest(), hex_encode(), infostream, m_media, fs::ReadFile(), removeStringEnd(), string_allowed(), TEXTURENAME_ALLOWED_CHARS, and verbosestream.

Referenced by dynamicAddMedia(), and fillMediaCache().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addParticleSpawner()

u32 Server::addParticleSpawner ( const ParticleSpawnerParameters p,
ServerActiveObject attached,
const std::string &  playername 
)

References ServerEnvironment::addParticleSpawner(), ActiveObject::getId(), RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), m_env, p(), PEER_ID_INEXISTENT, RemotePlayer::protocol_version, and SendAddParticleSpawner().

Referenced by ModApiParticles::l_add_particlespawner().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ allocateUnknownNodeId()

u16 Server::allocateUnknownNodeId ( const std::string &  name)
virtual

Implements IGameDef.

References NodeDefManager::allocateDummy(), and m_nodedef.

+ Here is the call graph for this function:

◆ AsyncRunStep()

void Server::AsyncRunStep ( bool  initial_step = false)

References ServerList::AA_START, ServerList::AA_UPDATE, Profiler::add(), AO_CMD_UPDATE_POSITION, ChatInterface::command_queue, CS_DefinitionsSent, ActiveObjectMessage::datastring, MutexedQueue< T >::empty(), g_profiler, g_settings, ServerEnvironment::getActiveObject(), ServerEnvironment::getActiveObjectMessage(), Map::getBlockNoCreateNoEx(), Settings::getBool(), getClient(), ClientInterface::getClientList(), Settings::getFloat(), ServerEnvironment::getGameTime(), ActiveObject::getId(), ServerEnvironment::getMap(), Mapgen::getMapgenName(), ServerEnvironment::getMaxLagEstimate(), getModStoragePath(), getNodeBlockPos(), ServerActiveObject::getParent(), ServerEnvironment::getPlayer(), ClientInterface::getPlayerNames(), getPlayerSAO(), Address::getPort(), Environment::getTimeOfDay(), handleChatInterfaceEvent(), handlePeerChanges(), ActiveObjectMessage::id, SubgameSpec::id, infostream, BanManager::isModified(), isSingleplayer(), ClientInterface::lock(), m_admin_chat, m_aom_buffer_counter, m_banmanager, m_bind_addr, m_clients, m_dedicated, m_emerge, m_emergethread_trigger_timer, m_env, m_env_mutex, m_gamespec, m_lag_gauge, m_liquid_transform_every, m_liquid_transform_timer, m_map_timer_and_unload_interval, m_masterserver_timer, m_mod_storage_save_timer, m_mod_storages, m_modmgr, m_player_gauge, m_savemap_timer, m_shutdown_state, m_step_dtime, m_step_dtime_mutex, m_time_of_day_send_timer, m_timeofday_gauge, m_unsent_map_edit_queue, m_uptime_counter, ClientInterface::markBlockposAsNotSent(), MEET_ADDNODE, MEET_BLOCK_NODE_METADATA_CHANGED, MEET_OTHER, MEET_REMOVENODE, MEET_SWAPNODE, EmergeManager::mgparams, MapgenParams::mgtype, MOD_REASON_REPORT_META_CHANGE, MOD_STATE_WRITE_NEEDED, ChatInterface::outgoing_queue, PEER_ID_INEXISTENT, MutexedQueue< T >::pop_frontNoEx(), Profiler::print(), MutexedQueue< T >::push_back(), ActiveObjectMessage::reliable, ServerEnvironment::reportMaxLagEstimate(), BanManager::save(), Map::save(), ServerEnvironment::saveLoadedPlayers(), ServerEnvironment::saveMeta(), SendActiveObjectMessages(), SendActiveObjectRemoveAdd(), sendAddNode(), ServerList::sendAnnounce(), SendBlocks(), sendMetadataChanged(), sendRemoveNode(), SendTimeOfDay(), serializeString16(), SetBlocksNotSent(), Environment::setTimeOfDaySpeed(), SPT_AVG, EmergeManager::startThreads(), ServerEnvironment::step(), ClientInterface::step(), IntervalLimiter::step(), Server::ShutdownState::tick(), Map::timerUpdate(), Map::transformLiquids(), U32_MAX, ClientInterface::unlock(), verbosestream, warningstream, and writeU16().

Referenced by ServerThread::run().

+ Here is the caller graph for this function:

◆ broadcastModChannelMessage()

void Server::broadcastModChannelMessage ( const std::string &  channel,
const std::string &  message,
session_t  from_peer 
)
private

References getPlayerName(), m_modchannel_mgr, m_script, ScriptApiModChannels::on_modchannel_message(), PEER_ID_SERVER, Send(), STRING_MAX_LEN, TOCLIENT_MODCHANNEL_MSG, and warningstream.

Referenced by handleCommand_ModChannelMsg(), and sendModChannelMessage().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkInteractDistance()

bool Server::checkInteractDistance ( RemotePlayer player,
const f32  d,
const std::string &  what 
)
private

References actionstream, BS, ItemStack::getDefinition(), Player::getName(), RemotePlayer::getPlayerSAO(), getToolRange(), Player::getWieldedItem(), m_itemdef, m_script, and ScriptApiPlayer::on_cheat().

Referenced by handleCommand_Interact(), and handleCommand_InventoryAction().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkPriv()

bool Server::checkPriv ( const std::string &  name,
const std::string &  priv 
)

References getPlayerEffectivePrivs().

Referenced by handleChat(), handleCommand_Interact(), and handleCommand_InventoryAction().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DeleteClient()

void Server::DeleteClient ( session_t  peer_id,
ClientDeletionReason  reason 
)
private

◆ deleteParticleSpawner()

void Server::deleteParticleSpawner ( const std::string &  playername,
u32  id 
)

References ServerEnvironment::deleteParticleSpawner(), RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), m_env, PEER_ID_INEXISTENT, and SendDeleteParticleSpawner().

Referenced by ModApiParticles::l_delete_particlespawner().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deletingPeer()

void Server::deletingPeer ( con::Peer peer,
bool  timeout 
)
virtual

Implements con::PeerHandler.

References CSE_Disconnect, ClientInterface::event(), con::Peer::id, m_clients, m_peer_change_queue, con::PEER_REMOVED, and verbosestream.

+ Here is the call graph for this function:

◆ DenyAccess()

void Server::DenyAccess ( session_t  peer_id,
AccessDeniedCode  reason,
const std::string &  custom_reason = "" 
)

References CSE_SetDenied, DisconnectPeer(), ClientInterface::event(), m_clients, and SendAccessDenied().

Referenced by handleCommand_FirstSrp(), handleCommand_Init(), handleCommand_SrpBytesA(), and handleCommand_SrpBytesM().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DenyAccess_Legacy()

void Server::DenyAccess_Legacy ( session_t  peer_id,
const std::wstring &  reason 
)

References CSE_SetDenied, DisconnectPeer(), ClientInterface::event(), m_clients, and SendAccessDenied_Legacy().

Referenced by handleChat(), ModApiServer::l_kick_player(), ProcessData(), Receive(), and StageTwoClientInit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DenyAccessVerCompliant()

void Server::DenyAccessVerCompliant ( session_t  peer_id,
u16  proto_ver,
AccessDeniedCode  reason,
const std::string &  str_reason = "",
bool  reconnect = false 
)

References CSE_SetDenied, DisconnectPeer(), ClientInterface::event(), m_clients, and SendAccessDenied().

Referenced by ServerEnvironment::kickAllPlayers().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DenySudoAccess()

void Server::DenySudoAccess ( session_t  peer_id)

References Send(), and TOCLIENT_DENY_SUDO_MODE.

Referenced by handleCommand_SrpBytesA(), and handleCommand_SrpBytesM().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DiePlayer()

void Server::DiePlayer ( session_t  peer_id,
const PlayerHPChangeReason reason 
)
private

References UnitSAO::clearParentAttachment(), Player::getName(), PlayerSAO::getPlayer(), getPlayerSAO(), infostream, m_script, ScriptApiPlayer::on_dieplayer(), SendDeathscreen(), SendPlayerHP(), and PlayerSAO::setHP().

Referenced by SendPlayerHPOrDie().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DISABLE_CLASS_COPY()

Server::DISABLE_CLASS_COPY ( Server  )

◆ DisconnectPeer()

void Server::DisconnectPeer ( session_t  peer_id)

◆ dynamicAddMedia()

bool Server::dynamicAddMedia ( const std::string &  filepath,
std::vector< RemotePlayer * > &  sent_to 
)

References addMediaFile(), CS_DefinitionsSent, errorstream, ClientInterface::getClientList(), fs::GetFilenameFromPath(), ServerEnvironment::getPlayer(), ClientInterface::lock(), m_clients, m_env, m_media, NetworkPacket::putLongString(), ClientInterface::send(), TOCLIENT_MEDIA_PUSH, and ClientInterface::unlock().

Referenced by ModApiServer::l_dynamic_add_media_raw().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ emergePlayer()

PlayerSAO * Server::emergePlayer ( const char *  name,
session_t  peer_id,
u16  proto_version 
)
private

References PlayerSAO::finalize(), Player::getName(), RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), getPlayerEffectivePrivs(), IGameDef::idef(), infostream, isSingleplayer(), ServerEnvironment::loadPlayer(), m_env, m_script, ScriptApiPlayer::on_newplayer(), PEER_ID_INEXISTENT, and RemotePlayer::protocol_version.

Referenced by StageTwoClientInit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fadeSound()

void Server::fadeSound ( s32  handle,
float  step,
float  gain 
)

References ServerPlayingSound::clients, ServerSoundParams::gain, ClientInterface::getProtocolVersion(), m_clients, m_playing_sounds, ServerPlayingSound::params, playSound(), ClientInterface::send(), ServerPlayingSound::spec, step(), TOCLIENT_FADE_SOUND, and TOCLIENT_STOP_SOUND.

Referenced by ModApiServer::l_sound_fade().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fillMediaCache()

void Server::fillMediaCache ( )
private

References addMediaFile(), DIR_DELIM, fs::GetDirListing(), fs::GetRecursiveDirs(), infostream, m_gamespec, m_media, m_modmgr, SubgameSpec::path, and porting::path_user.

Referenced by init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findSpawnPos()

v3f Server::findSpawnPos ( )

References BS, CONTENT_IGNORE, ContentFeatures::drawtype, ServerMap::emergeBlock(), g_settings, NodeDefManager::get(), MapNode::getContent(), ServerMap::getMapgenParams(), Map::getNode(), getNodeBlockPos(), ServerEnvironment::getServerMap(), EmergeManager::getSpawnLevelAtPoint(), MapgenParams::getSpawnRangeMax(), Settings::getV3FNoEx(), intToFloat(), m_emerge, m_env, m_nodedef, MAX_MAP_GENERATION_LIMIT, MYMIN, myrand(), NDT_AIRLIKE, and objectpos_over_limit().

Referenced by ServerEnvironment::loadPlayer(), and RespawnPlayer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getBanDescription()

std::string Server::getBanDescription ( const std::string &  ip_or_name)

References BanManager::getBanDescription(), and m_banmanager.

+ Here is the call graph for this function:

◆ getBuiltinLuaPath()

std::string Server::getBuiltinLuaPath ( )

References DIR_DELIM, and porting::path_share.

Referenced by init(), and AsyncWorkerThread::run().

+ Here is the caller graph for this function:

◆ getClient()

RemoteClient * Server::getClient ( session_t  peer_id,
ClientState  state_min = CS_Active 
)
private

References getClientNoEx().

Referenced by acceptAuth(), AsyncRunStep(), getPeerAddress(), handleCommand_DeletedBlocks(), handleCommand_FirstSrp(), handleCommand_Init(), handleCommand_Init2(), handleCommand_Interact(), handleCommand_SrpBytesA(), handleCommand_SrpBytesM(), ProcessData(), and sendDetachedInventories().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getClientConInfo()

bool Server::getClientConInfo ( session_t  peer_id,
con::rtt_stat_type  type,
float *  retval 
)

References m_con.

◆ getClientInfo()

bool Server::getClientInfo ( session_t  peer_id,
ClientInfo ret 
)

◆ getClientNoEx()

RemoteClient * Server::getClientNoEx ( session_t  peer_id,
ClientState  state_min = CS_Active 
)
private

References ClientInterface::getClientNoEx(), and m_clients.

Referenced by getClient().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getCraftDefManager()

ICraftDefManager * Server::getCraftDefManager ( )
virtual

Implements IGameDef.

References m_craftdef.

◆ getEmergeManager()

◆ getEnv()

ServerEnvironment& Server::getEnv ( )
inline

References m_env.

◆ getInventoryMgr()

ServerInventoryManager* Server::getInventoryMgr ( ) const
inline

References m_inventory_mgr.

Referenced by ModApiBase::getServerInventoryMgr().

+ Here is the caller graph for this function:

◆ getItemDefManager()

IItemDefManager * Server::getItemDefManager ( )
virtual

Implements IGameDef.

References m_itemdef.

◆ getMap()

Map& Server::getMap ( )
inline

References ServerEnvironment::getMap(), and m_env.

+ Here is the call graph for this function:

◆ getModChannel()

ModChannel * Server::getModChannel ( const std::string &  channel)
virtual

Implements IGameDef.

References m_modchannel_mgr.

◆ getModNames()

void Server::getModNames ( std::vector< std::string > &  modlist)

References m_modmgr.

Referenced by ModApiServer::l_get_modnames().

+ Here is the caller graph for this function:

◆ getMods()

const std::vector< ModSpec > & Server::getMods ( ) const
virtual

Implements IGameDef.

References m_modmgr.

◆ getModSpec()

const ModSpec * Server::getModSpec ( const std::string &  modname) const
virtual

Implements IGameDef.

References m_modmgr.

Referenced by ModApiBase::getCurrentModPath(), and ModApiServer::l_get_modpath().

+ Here is the caller graph for this function:

◆ getModStoragePath()

std::string Server::getModStoragePath ( ) const
virtual

Implements IGameDef.

References DIR_DELIM, and m_path_world.

Referenced by AsyncRunStep(), and unregisterModStorage().

+ Here is the caller graph for this function:

◆ getNodeDefManager()

◆ getPeerAddress()

Address Server::getPeerAddress ( session_t  peer_id)

References CS_Invalid, RemoteClient::getAddress(), and getClient().

Referenced by handleCommand_FirstSrp(), handleCommand_SrpBytesA(), handleCommand_SrpBytesM(), ProcessData(), and StageTwoClientInit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPlayerEffectivePrivs()

std::set< std::string > Server::getPlayerEffectivePrivs ( const std::string &  name)

References ScriptApiServer::getAuth(), and m_script.

Referenced by checkPriv(), emergePlayer(), and reportPrivsModified().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPlayerName()

std::string Server::getPlayerName ( session_t  peer_id)
private

References Player::getName(), ServerEnvironment::getPlayer(), itos(), and m_env.

Referenced by broadcastModChannelMessage(), handleCommand_Init2(), and handleCommand_RequestMedia().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPlayerSAO()

PlayerSAO * Server::getPlayerSAO ( session_t  peer_id)
private

References ServerEnvironment::getPlayer(), RemotePlayer::getPlayerSAO(), and m_env.

Referenced by AsyncRunStep(), DiePlayer(), handleCommand_Init2(), RespawnPlayer(), and SendPlayerHP().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getRollbackManager()

IRollbackManager* Server::getRollbackManager ( )
inlinevirtual

Reimplemented from IGameDef.

References m_rollback.

◆ getScriptIface()

ServerScripting* Server::getScriptIface ( )
inline

References m_script.

Referenced by EmergeThread::finishGen(), and ModApiEnvMod::l_emerge_area().

+ Here is the caller graph for this function:

◆ getStatusString()

std::string Server::getStatusString ( )

References g_settings, g_version_string, Settings::get(), ClientInterface::getClientIDs(), ServerEnvironment::getMap(), ServerEnvironment::getMaxLagEstimate(), Player::getName(), ServerEnvironment::getPlayer(), m_clients, m_env, and m_uptime_counter.

+ Here is the call graph for this function:

◆ getTranslationLanguage()

Translations * Server::getTranslationLanguage ( const std::string &  lang_code)

References m_media, fs::ReadFile(), server_translations, and str_ends_with().

Referenced by ModApiEnvMod::l_get_translated_string().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getUptime()

double Server::getUptime ( ) const
inline

References m_uptime_counter.

◆ getWorldPath()

virtual std::string Server::getWorldPath ( ) const
inlinevirtual

Reimplemented from IGameDef.

References m_path_world.

Referenced by ModApiServer::l_get_worldpath().

+ Here is the caller graph for this function:

◆ getWritableCraftDefManager()

IWritableCraftDefManager * Server::getWritableCraftDefManager ( )

References m_craftdef.

Referenced by ModApiCraft::l_clear_craft(), and ModApiCraft::l_register_craft().

+ Here is the caller graph for this function:

◆ getWritableItemDefManager()

IWritableItemDefManager * Server::getWritableItemDefManager ( )

References m_itemdef.

Referenced by ModApiItemMod::l_register_alias_raw(), ModApiItemMod::l_register_item_raw(), and ModApiItemMod::l_unregister_item_raw().

+ Here is the caller graph for this function:

◆ getWritableNodeDefManager()

NodeDefManager * Server::getWritableNodeDefManager ( )

References m_nodedef.

Referenced by ModApiItemMod::l_register_item_raw(), and ModApiItemMod::l_unregister_item_raw().

+ Here is the caller graph for this function:

◆ handleAdminChat()

void Server::handleAdminChat ( const ChatEventChat evt)
private

References ChatEventChat::evt_msg, handleChat(), m_admin_chat, ChatEventChat::nick, ChatInterface::outgoing_queue, and MutexedQueue< T >::push_back().

Referenced by handleChatInterfaceEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleChat()

std::wstring Server::handleChat ( const std::string &  name,
std::wstring  wmessage_input,
bool  check_shout_priv = false,
RemotePlayer player = nullptr 
)
private

References actionstream, RemotePlayer::canSendChatMessage(), checkPriv(), DenyAccess_Legacy(), FATAL_ERROR, ScriptApiServer::formatChatMessage(), g_settings, Settings::getBool(), ClientInterface::getClientIDs(), Settings::getFloat(), RemotePlayer::getPeerId(), m_clients, m_max_chatmessage_length, m_rollback, m_script, ScriptApiServer::on_chat_message(), RPLAYER_CHATRESULT_FLOODING, RPLAYER_CHATRESULT_KICK, RPLAYER_CHATRESULT_OK, SendChatMessage(), trim(), unescape_enriched(), utf8_to_wide(), and wide_to_utf8().

Referenced by handleAdminChat(), and handleCommand_ChatMessage().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleChatInterfaceEvent()

void Server::handleChatInterfaceEvent ( ChatEvent evt)
private

References CET_CHAT, CET_NICK_ADD, errorstream, ScriptApiServer::getAuth(), handleAdminChat(), m_admin_nick, m_script, and ChatEvent::type.

Referenced by AsyncRunStep().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleCommand()

void Server::handleCommand ( NetworkPacket pkt)
inline

References NetworkPacket::getCommand(), ToServerCommandHandler::handler, and toServerCommandTable.

Referenced by ProcessData().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleCommand_ChatMessage()

void Server::handleCommand_ChatMessage ( NetworkPacket pkt)

References CHATMESSAGE_TYPE_SYSTEM, DisconnectPeer(), errorstream, Player::getName(), NetworkPacket::getPeerId(), ServerEnvironment::getPlayer(), handleChat(), m_env, and SendChatMessage().

+ Here is the call graph for this function:

◆ handleCommand_ClientReady()

◆ handleCommand_Damage()

void Server::handleCommand_Damage ( NetworkPacket pkt)

◆ handleCommand_DeletedBlocks()

void Server::handleCommand_DeletedBlocks ( NetworkPacket pkt)

References getClient(), NetworkPacket::getPeerId(), NetworkPacket::getSize(), and p().

+ Here is the call graph for this function:

◆ handleCommand_Deprecated()

void Server::handleCommand_Deprecated ( NetworkPacket pkt)

References NetworkPacket::getCommand(), infostream, ToServerCommandHandler::name, and toServerCommandTable.

+ Here is the call graph for this function:

◆ handleCommand_FirstSrp()

◆ handleCommand_GotBlocks()

void Server::handleCommand_GotBlocks ( NetworkPacket pkt)

References NetworkPacket::getPeerId(), NetworkPacket::getSize(), ClientInterface::lock(), ClientInterface::lockedGetClientNoEx(), m_clients, p(), and ClientInterface::unlock().

+ Here is the call graph for this function:

◆ handleCommand_Init()

◆ handleCommand_Init2()

◆ handleCommand_Interact()

void Server::handleCommand_Interact ( NetworkPacket pkt)

References actionstream, ACTIVEOBJECT_TYPE_PLAYER, ItemStack::addWear(), BS, checkInteractDistance(), checkPriv(), CONTENT_AIR, CONTENT_IGNORE, PointedThing::deSerialize(), dir(), DisconnectPeer(), PointedThing::dump(), EmergeManager::enqueueBlockEmerge(), errorstream, g_settings, NodeDefManager::get(), ServerEnvironment::getActiveObject(), ServerActiveObject::getBasePosition(), Settings::getBool(), getClient(), MapNode::getContent(), ItemStack::getDefinition(), ServerActiveObject::getDescription(), getDigParams(), PlayerSAO::getDigPool(), PlayerSAO::getEyeOffset(), PlayerSAO::getEyePosition(), RemotePlayer::getHotbarItemcount(), ServerActiveObject::getHP(), UnitSAO::getHP(), PlayerSAO::getLastGoodPosition(), ServerEnvironment::getMap(), Player::getName(), PlayerSAO::getNoCheatDigPos(), PlayerSAO::getNoCheatDigTime(), Map::getNode(), getNodeBlockPos(), NetworkPacket::getPeerId(), PlayerSAO::getPlayer(), ServerEnvironment::getPlayer(), RemotePlayer::getPlayerSAO(), ItemStack::getToolCapabilities(), ActiveObject::getType(), Player::getWieldedItem(), PlayerSAO::getWieldedItem(), LagPool::grab(), ContentFeatures::groups, infostream, INTERACT_ACTIVATE, INTERACT_DIGGING_COMPLETED, INTERACT_PLACE, INTERACT_START_DIGGING, INTERACT_STOP_DIGGING, INTERACT_USE, intToFloat(), UnitSAO::isDead(), ServerActiveObject::isGone(), isSingleplayer(), ITEM_NODE, ScriptApiItem::item_OnPlace(), ScriptApiItem::item_OnSecondaryUse(), ScriptApiItem::item_OnUse(), m_emerge, m_env, m_itemdef, m_nodedef, m_rollback, m_script, RemoteClient::m_time_from_building, ItemStack::name, PlayerSAO::noCheatDigEnd(), PlayerSAO::noCheatDigStart(), PointedThing::node_abovesurface, ScriptApiNode::node_on_dig(), ScriptApiNode::node_on_punch(), ItemDefinition::node_placement_prediction, PointedThing::node_undersurface, PointedThing::object_id, ScriptApiPlayer::on_cheat(), params, PlayerHPChangeReason::PLAYER_PUNCH, POINTEDTHING_NODE, POINTEDTHING_NOTHING, POINTEDTHING_OBJECT, PP, process_PlayerPos(), ServerActiveObject::punch(), NetworkPacket::readLongString(), PlayerSAO::resetTimeFromLastPunch(), ServerActiveObject::rightClick(), SendInventory(), SendPlayerHPOrDie(), PlayerSAO::setWieldedItem(), Player::setWieldIndex(), ItemDefinition::type, PointedThing::type, verbosestream, and warningstream.

◆ handleCommand_InventoryAction()

◆ handleCommand_InventoryFields()

void Server::handleCommand_InventoryFields ( NetworkPacket pkt)

References actionstream, DisconnectPeer(), errorstream, Player::getName(), NetworkPacket::getPeerId(), ServerEnvironment::getPlayer(), RemotePlayer::getPlayerSAO(), m_env, m_formspec_state_data, m_script, ScriptApiPlayer::on_playerReceiveFields(), and NetworkPacket::readLongString().

+ Here is the call graph for this function:

◆ handleCommand_ModChannelJoin()

void Server::handleCommand_ModChannelJoin ( NetworkPacket pkt)

References g_settings, Settings::getBool(), NetworkPacket::getPeerId(), infostream, m_modchannel_mgr, MODCHANNEL_SIGNAL_JOIN_FAILURE, MODCHANNEL_SIGNAL_JOIN_OK, Send(), and TOCLIENT_MODCHANNEL_SIGNAL.

+ Here is the call graph for this function:

◆ handleCommand_ModChannelLeave()

void Server::handleCommand_ModChannelLeave ( NetworkPacket pkt)

References g_settings, Settings::getBool(), NetworkPacket::getPeerId(), infostream, m_modchannel_mgr, MODCHANNEL_SIGNAL_LEAVE_FAILURE, MODCHANNEL_SIGNAL_LEAVE_OK, Send(), and TOCLIENT_MODCHANNEL_SIGNAL.

+ Here is the call graph for this function:

◆ handleCommand_ModChannelMsg()

void Server::handleCommand_ModChannelMsg ( NetworkPacket pkt)

References broadcastModChannelMessage(), g_settings, Settings::getBool(), NetworkPacket::getPeerId(), m_modchannel_mgr, MODCHANNEL_SIGNAL_CHANNEL_NOT_REGISTERED, Send(), TOCLIENT_MODCHANNEL_SIGNAL, and verbosestream.

+ Here is the call graph for this function:

◆ handleCommand_NodeMetaFields()

void Server::handleCommand_NodeMetaFields ( NetworkPacket pkt)

◆ handleCommand_Null()

void Server::handleCommand_Null ( NetworkPacket pkt)
inline

◆ handleCommand_PlayerItem()

void Server::handleCommand_PlayerItem ( NetworkPacket pkt)

References actionstream, DisconnectPeer(), errorstream, RemotePlayer::getHotbarItemcount(), Player::getName(), NetworkPacket::getPeerId(), PlayerSAO::getPlayer(), ServerEnvironment::getPlayer(), RemotePlayer::getPlayerSAO(), NetworkPacket::getSize(), m_env, and Player::setWieldIndex().

+ Here is the call graph for this function:

◆ handleCommand_PlayerPos()

void Server::handleCommand_PlayerPos ( NetworkPacket pkt)

References DisconnectPeer(), errorstream, Player::getName(), NetworkPacket::getPeerId(), ServerEnvironment::getPlayer(), RemotePlayer::getPlayerSAO(), UnitSAO::isDead(), m_env, process_PlayerPos(), and verbosestream.

+ Here is the call graph for this function:

◆ handleCommand_RemovedSounds()

void Server::handleCommand_RemovedSounds ( NetworkPacket pkt)

References ServerPlayingSound::clients, NetworkPacket::getPeerId(), and m_playing_sounds.

+ Here is the call graph for this function:

◆ handleCommand_RequestMedia()

void Server::handleCommand_RequestMedia ( NetworkPacket pkt)

References NetworkPacket::getPeerId(), getPlayerName(), infostream, sendRequestedMedia(), and verbosestream.

+ Here is the call graph for this function:

◆ handleCommand_Respawn()

void Server::handleCommand_Respawn ( NetworkPacket pkt)

References actionstream, BS, DisconnectPeer(), errorstream, ServerActiveObject::getBasePosition(), Player::getName(), NetworkPacket::getPeerId(), ServerEnvironment::getPlayer(), RemotePlayer::getPlayerSAO(), UnitSAO::isDead(), m_env, PP, and RespawnPlayer().

+ Here is the call graph for this function:

◆ handleCommand_SrpBytesA()

◆ handleCommand_SrpBytesM()

◆ handlePeerChanges()

void Server::handlePeerChanges ( )
private

References CDR_LEAVE, CDR_TIMEOUT, ClientInterface::CreateClient(), DeleteClient(), FATAL_ERROR, m_clients, m_peer_change_queue, con::PEER_ADDED, con::PeerChange::peer_id, con::PEER_REMOVED, con::PeerChange::timeout, con::PeerChange::type, and verbosestream.

Referenced by AsyncRunStep().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hudAdd()

u32 Server::hudAdd ( RemotePlayer player,
HudElement element 
)

References Player::addHud(), RemotePlayer::getPeerId(), and SendHUDAdd().

Referenced by ObjectRef::l_hud_add().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hudChange()

bool Server::hudChange ( RemotePlayer player,
u32  id,
HudElementStat  stat,
void *  value 
)

References RemotePlayer::getPeerId(), and SendHUDChange().

Referenced by ObjectRef::l_hud_change().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hudRemove()

bool Server::hudRemove ( RemotePlayer player,
u32  id 
)

References RemotePlayer::getPeerId(), Player::removeHud(), and SendHUDRemove().

+ Here is the call graph for this function:

◆ hudSetFlags()

bool Server::hudSetFlags ( RemotePlayer player,
u32  flags,
u32  mask 
)

References RemotePlayer::getPeerId(), RemotePlayer::getPlayerSAO(), Player::hud_flags, m_script, ScriptApiEnv::player_event(), and SendHUDSetFlags().

+ Here is the call graph for this function:

◆ hudSetHotbarImage()

void Server::hudSetHotbarImage ( RemotePlayer player,
const std::string &  name 
)

References RemotePlayer::getPeerId(), HUD_PARAM_HOTBAR_IMAGE, SendHUDSetParam(), and RemotePlayer::setHotbarImage().

Referenced by ObjectRef::l_hud_set_hotbar_image().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hudSetHotbarItemcount()

bool Server::hudSetHotbarItemcount ( RemotePlayer player,
s32  hotbar_itemcount 
)

References RemotePlayer::getPeerId(), HUD_HOTBAR_ITEMCOUNT_MAX, HUD_PARAM_HOTBAR_ITEMCOUNT, SendHUDSetParam(), RemotePlayer::setHotbarItemcount(), and writeS32().

+ Here is the call graph for this function:

◆ hudSetHotbarSelectedImage()

void Server::hudSetHotbarSelectedImage ( RemotePlayer player,
const std::string &  name 
)

References RemotePlayer::getPeerId(), HUD_PARAM_HOTBAR_SELECTED_IMAGE, SendHUDSetParam(), and RemotePlayer::setHotbarSelectedImage().

Referenced by ObjectRef::l_hud_set_hotbar_selected_image().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ init()

void Server::init ( )
private

References Map::addEventReceiver(), NodeDefManager::applyTextureOverrides(), IWritableItemDefManager::applyTextureOverrides(), BUILTIN_MOD_NAME, Settings::createLayer(), DIR_DELIM, FATAL_ERROR, fillMediaCache(), g_settings, Settings::get(), Settings::getBool(), getBuiltinLuaPath(), fs::GetFilenameFromPath(), Settings::getFloat(), TextureOverrideSource::getItemTextureOverrides(), ServerMap::getMapgenParams(), TextureOverrideSource::getNodeTileOverrides(), fs::GetRecursiveDirs(), Settings::getU16(), Settings::getU32(), Settings::getU64(), SubgameSpec::id, infostream, IWritableCraftDefManager::initHashes(), ScriptApiEnv::initializeEnvironment(), EmergeManager::initMapgens(), loadGameConfAndInitWorld(), ServerEnvironment::loadMeta(), ScriptApiBase::loadMod(), m_banmanager, m_clients, m_craftdef, m_csm_restriction_flags, m_csm_restriction_noderange, m_emerge, m_env, m_env_mutex, m_game_settings, m_gamespec, m_inventory_mgr, m_itemdef, m_liquid_transform_every, m_max_chatmessage_length, m_metrics_backend, m_modmgr, m_nodedef, m_path_world, m_rollback, m_script, m_simple_singleplayer_mode, m_startup_server_map, MapSettingsManager::makeMapgenParams(), SubgameSpec::path, NodeDefManager::resolveCrossrefs(), NodeDefManager::runNodeResolveCallbacks(), ClientInterface::setEnv(), NodeDefManager::setNodeRegistrationStatus(), ServerMap::settings_mgr, SL_GAME, NodeDefManager::updateAliases(), and BaseException::what().

Referenced by start().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isShutdownRequested()

bool Server::isShutdownRequested ( ) const
inline

References Server::ShutdownState::is_requested, and m_shutdown_state.

Referenced by ~Server().

+ Here is the caller graph for this function:

◆ isSingleplayer()

bool Server::isSingleplayer ( )
inline

References m_simple_singleplayer_mode.

Referenced by AsyncRunStep(), emergePlayer(), handleCommand_FirstSrp(), handleCommand_Init(), handleCommand_Interact(), and reportPrivsModified().

+ Here is the caller graph for this function:

◆ joinModChannel()

bool Server::joinModChannel ( const std::string &  channel)
virtual

◆ leaveModChannel()

bool Server::leaveModChannel ( const std::string &  channel)
virtual

Implements IGameDef.

References m_modchannel_mgr, and PEER_ID_SERVER.

◆ nextSoundId()

s32 Server::nextSoundId ( )
inlineprivate

References m_next_sound_id.

Referenced by playSound().

+ Here is the caller graph for this function:

◆ notifyPlayer()

void Server::notifyPlayer ( const char *  name,
const std::wstring &  msg 
)

References RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), m_admin_chat, m_admin_nick, m_env, ChatInterface::outgoing_queue, PEER_ID_INEXISTENT, MutexedQueue< T >::push_back(), and SendChatMessage().

+ Here is the call graph for this function:

◆ notifyPlayers()

void Server::notifyPlayers ( const std::wstring &  msg)

References PEER_ID_INEXISTENT, and SendChatMessage().

+ Here is the call graph for this function:

◆ onMapEditEvent()

void Server::onMapEditEvent ( const MapEditEvent event)
virtual

Implements MapEventReceiver.

References VoxelArea::contains(), MapEditEvent::getArea(), m_ignore_map_edit_events_area, and m_unsent_map_edit_queue.

+ Here is the call graph for this function:

◆ overrideDayNightRatio()

void Server::overrideDayNightRatio ( RemotePlayer player,
bool  do_override,
float  brightness 
)

References RemotePlayer::getPeerId(), RemotePlayer::overrideDayNightRatio(), sanity_check, and SendOverrideDayNightRatio().

Referenced by ObjectRef::l_override_day_night_ratio().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ peerAdded()

void Server::peerAdded ( con::Peer peer)
virtual

◆ playSound()

s32 Server::playSound ( const SimpleSoundSpec spec,
const ServerSoundParams params,
bool  ephemeral = false 
)

References ServerPlayingSound::clients, SimpleSoundSpec::gain, ServerActiveObject::getBasePosition(), ClientInterface::getClientIDs(), Player::getName(), RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), RemotePlayer::getPlayerSAO(), infostream, m_clients, m_env, m_playing_sounds, SimpleSoundSpec::name, nextSoundId(), params, ServerPlayingSound::params, PEER_ID_INEXISTENT, ClientInterface::send(), ServerPlayingSound::spec, ServerSoundParams::SSP_LOCAL, and TOCLIENT_PLAY_SOUND.

Referenced by fadeSound(), and ModApiServer::l_sound_play().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ printToConsoleOnly()

void Server::printToConsoleOnly ( const std::string &  text)

References m_admin_chat, ChatInterface::outgoing_queue, MutexedQueue< T >::push_back(), and utf8_to_wide().

Referenced by ModApiServer::l_print().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ process_PlayerPos()

void Server::process_PlayerPos ( RemotePlayer player,
PlayerSAO playersao,
NetworkPacket pkt 
)

◆ ProcessData()

void Server::ProcessData ( NetworkPacket pkt)

References actionstream, CS_Active, CS_InitDone, DenyAccess_Legacy(), errorstream, g_profiler, BanManager::getBanName(), getClient(), ClientInterface::getClientState(), NetworkPacket::getCommand(), getPeerAddress(), NetworkPacket::getPeerId(), handleCommand(), infostream, BanManager::isIpBanned(), m_banmanager, m_clients, m_env_mutex, SER_FMT_VER_INVALID, RemoteClient::serialization_version, Address::serializeString(), TOSERVER_NUM_MSG_TYPES, TOSERVER_PLAYERPOS, TOSERVER_STATE_NOT_CONNECTED, TOSERVER_STATE_STARTUP, toServerCommandTable, utf8_to_wide(), and BaseException::what().

Referenced by Receive().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Receive()

void Server::Receive ( )

References NetworkPacket::clear(), DenyAccess_Legacy(), errorstream, NetworkPacket::getPeerId(), infostream, m_con, m_packet_recv_counter, m_packet_recv_processed_counter, ProcessData(), and BaseException::what().

Referenced by ServerThread::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ registerModStorage()

bool Server::registerModStorage ( ModMetadata storage)
virtual

Implements IGameDef.

References errorstream, ModMetadata::getModName(), and m_mod_storages.

+ Here is the call graph for this function:

◆ reportFormspecPrependModified()

void Server::reportFormspecPrependModified ( const std::string &  name)

References RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), m_env, and SendPlayerFormspecPrepend().

Referenced by ObjectRef::l_set_formspec_prepend().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reportInventoryFormspecModified()

void Server::reportInventoryFormspecModified ( const std::string &  name)

References RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), m_env, and SendPlayerInventoryFormspec().

Referenced by ObjectRef::l_set_inventory_formspec().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reportPrivsModified()

void Server::reportPrivsModified ( const std::string &  name = "")

References ClientInterface::getClientIDs(), Player::getName(), RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), getPlayerEffectivePrivs(), RemotePlayer::getPlayerSAO(), isSingleplayer(), m_clients, m_env, SendPlayerPrivileges(), and PlayerSAO::updatePrivileges().

Referenced by ModApiServer::l_notify_authentication_modified().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ requestShutdown()

void Server::requestShutdown ( const std::string &  msg,
bool  reconnect,
float  delay = 0.0f 
)

References duration_to_string(), infostream, Server::ShutdownState::is_requested, Server::ShutdownState::isTimerRunning(), m_shutdown_state, myround(), PEER_ID_INEXISTENT, Server::ShutdownState::reset(), SendChatMessage(), Server::ShutdownState::trigger(), and wide_to_utf8().

Referenced by ModApiServer::l_request_shutdown().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RespawnPlayer()

void Server::RespawnPlayer ( session_t  peer_id)
private

References UnitSAO::accessObjectProperties(), ObjectProperties::breath_max, findSpawnPos(), Player::getName(), PlayerSAO::getPlayer(), getPlayerSAO(), ObjectProperties::hp_max, infostream, m_script, ScriptApiPlayer::on_respawnplayer(), PlayerHPChangeReason::RESPAWN, SendPlayerHP(), PlayerSAO::setBreath(), PlayerSAO::setHP(), and PlayerSAO::setPos().

Referenced by handleCommand_Respawn().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rollbackRevertActions()

bool Server::rollbackRevertActions ( const std::list< RollbackAction > &  actions,
std::list< std::string > *  log 
)

References ServerEnvironment::getMap(), infostream, m_env, and m_inventory_mgr.

+ Here is the call graph for this function:

◆ Send() [1/2]

◆ Send() [2/2]

void Server::Send ( session_t  peer_id,
NetworkPacket pkt 
)

References ClientCommandFactory::channel, clientCommandFactoryTable, NetworkPacket::getCommand(), m_clients, ClientCommandFactory::reliable, and ClientInterface::send().

+ Here is the call graph for this function:

◆ SendAccessDenied()

void Server::SendAccessDenied ( session_t  peer_id,
AccessDeniedCode  reason,
const std::string &  custom_reason,
bool  reconnect = false 
)
private

References Send(), SERVER_ACCESSDENIED_CRASH, SERVER_ACCESSDENIED_CUSTOM_STRING, SERVER_ACCESSDENIED_MAX, SERVER_ACCESSDENIED_SHUTDOWN, and TOCLIENT_ACCESS_DENIED.

Referenced by DenyAccess(), and DenyAccessVerCompliant().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendAccessDenied_Legacy()

void Server::SendAccessDenied_Legacy ( session_t  peer_id,
const std::wstring &  reason 
)
private

References Send(), and TOCLIENT_ACCESS_DENIED_LEGACY.

Referenced by DenyAccess_Legacy().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendActiveObjectMessages()

void Server::SendActiveObjectMessages ( session_t  peer_id,
const std::string &  datas,
bool  reliable = true 
)
private

References ClientCommandFactory::channel, clientCommandFactoryTable, NetworkPacket::getCommand(), NetworkPacket::getPeerId(), m_clients, NetworkPacket::putRawString(), ClientInterface::send(), and TOCLIENT_ACTIVE_OBJECT_MESSAGES.

Referenced by AsyncRunStep().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendActiveObjectRemoveAdd()

void Server::SendActiveObjectRemoveAdd ( RemoteClient client,
PlayerSAO playersao 
)
private

◆ sendAddNode()

void Server::sendAddNode ( v3s16  p,
MapNode  n,
std::unordered_set< u16 > *  far_players = nullptr,
float  far_d_nodes = 100,
bool  remove_metadata = true 
)
private

References BS, ServerActiveObject::getBasePosition(), ClientInterface::getClientIDs(), getNodeBlockPos(), ServerEnvironment::getPlayer(), RemotePlayer::getPlayerSAO(), intToFloat(), ClientInterface::lock(), ClientInterface::lockedGetClientNoEx(), m_clients, m_env, p(), MapNode::param0, MapNode::param1, MapNode::param2, ClientInterface::send(), TOCLIENT_ADDNODE, and ClientInterface::unlock().

Referenced by AsyncRunStep().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendAddParticleSpawner()

void Server::SendAddParticleSpawner ( session_t  peer_id,
u16  protocol_version,
const ParticleSpawnerParameters p,
u16  attached_id,
u32  id 
)
private

References BS, g_settings, ServerActiveObject::getBasePosition(), ClientInterface::getClientIDs(), ServerEnvironment::getPlayer(), RemotePlayer::getPlayerSAO(), Settings::getS16(), m_clients, m_env, MAP_BLOCKSIZE, p(), PEER_ID_INEXISTENT, RemotePlayer::protocol_version, NetworkPacket::putLongString(), NetworkPacket::putRawString(), Send(), and TOCLIENT_ADD_PARTICLESPAWNER.

Referenced by addParticleSpawner().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendBlock()

bool Server::SendBlock ( session_t  peer_id,
const v3s16 blockpos 
)

References CS_Active, Map::getBlockNoCreateNoEx(), ServerEnvironment::getMap(), ClientInterface::lock(), ClientInterface::lockedGetClientNoEx(), m_clients, m_env, SendBlockNoLock(), and ClientInterface::unlock().

Referenced by ObjectRef::l_send_mapblock(), and PlayerSAO::setPos().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendBlockNoLock()

void Server::SendBlockNoLock ( session_t  peer_id,
MapBlock block,
u8  ver,
u16  net_proto_version 
)
private

References g_settings, MapBlock::getPos(), Settings::getS16(), NetworkPacket::putRawString(), rangelim, Send(), MapBlock::serialize(), MapBlock::serializeNetworkSpecific(), and TOCLIENT_BLOCKDATA.

Referenced by SendBlock(), and SendBlocks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendBlocks()

void Server::SendBlocks ( float  dtime)
private

References CS_Active, g_profiler, g_settings, Map::getBlockNoCreateNoEx(), ClientInterface::getClientIDs(), ServerEnvironment::getMap(), ServerEnvironment::getPlayerCount(), Settings::getU32(), ClientInterface::lock(), ClientInterface::lockedGetClientNoEx(), m_clients, m_emerge, m_env, m_env_mutex, SendBlockNoLock(), and ClientInterface::unlock().

Referenced by AsyncRunStep().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendBreath()

void Server::SendBreath ( session_t  peer_id,
u16  breath 
)
private

References Send(), and TOCLIENT_BREATH.

Referenced by SendPlayerBreath().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendChatMessage()

void Server::SendChatMessage ( session_t  peer_id,
const ChatMessage message 
)
privatevirtual

Reimplemented in FakeServer.

References ServerEnvironment::getPlayer(), m_clients, m_env, ChatMessage::message, PEER_ID_INEXISTENT, Send(), ChatMessage::sender, ClientInterface::sendToAll(), ChatMessage::timestamp, TOCLIENT_CHAT_MESSAGE, and ChatMessage::type.

Referenced by ~Server(), DeleteClient(), handleChat(), handleCommand_ChatMessage(), handleCommand_ClientReady(), handleCommand_FirstSrp(), handleCommand_Init2(), notifyPlayer(), notifyPlayers(), and requestShutdown().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendCloudParams()

void Server::SendCloudParams ( session_t  peer_id,
const CloudParams params 
)
private

References params, Send(), and TOCLIENT_CLOUD_PARAMS.

Referenced by setClouds().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendCSMRestrictionFlags()

void Server::SendCSMRestrictionFlags ( session_t  peer_id)
private

References m_csm_restriction_flags, m_csm_restriction_noderange, Send(), and TOCLIENT_CSM_RESTRICTION_FLAGS.

Referenced by handleCommand_Init2().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendDeathscreen()

void Server::SendDeathscreen ( session_t  peer_id,
bool  set_camera_point_target,
v3f  camera_point_target 
)
private

References Send(), and TOCLIENT_DEATHSCREEN.

Referenced by DiePlayer(), and StageTwoClientInit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendDeleteParticleSpawner()

void Server::SendDeleteParticleSpawner ( session_t  peer_id,
u32  id 
)
private

References m_clients, PEER_ID_INEXISTENT, Send(), ClientInterface::sendToAll(), and TOCLIENT_DELETE_PARTICLESPAWNER.

Referenced by deleteParticleSpawner().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sendDetachedInventories()

void Server::sendDetachedInventories ( session_t  peer_id,
bool  incremental 
)

References CS_Created, getClient(), RemoteClient::getName(), m_inventory_mgr, PEER_ID_INEXISTENT, and sendDetachedInventory().

Referenced by handleCommand_Init2(), and ServerEnvironment::step().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sendDetachedInventory()

void Server::sendDetachedInventory ( Inventory inventory,
const std::string &  name,
session_t  peer_id 
)

References m_clients, PEER_ID_INEXISTENT, NetworkPacket::putRawString(), Send(), ClientInterface::sendToAll(), Inventory::serialize(), Inventory::setModified(), and TOCLIENT_DETACHED_INVENTORY.

Referenced by ServerInventoryManager::createDetachedInventory(), ServerInventoryManager::removeDetachedInventory(), and sendDetachedInventories().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendEyeOffset()

void Server::SendEyeOffset ( session_t  peer_id,
v3f  first,
v3f  third 
)
private

References Send(), and TOCLIENT_EYE_OFFSET.

Referenced by setPlayerEyeOffset().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendHP()

void Server::SendHP ( session_t  peer_id,
u16  hp 
)
private

References Send(), and TOCLIENT_HP.

Referenced by SendPlayerHP().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendHUDAdd()

void Server::SendHUDAdd ( session_t  peer_id,
u32  id,
HudElement form 
)
private

References HudElement::align, HudElement::dir, HudElement::item, HudElement::name, HudElement::number, HudElement::offset, HudElement::pos, HudElement::scale, Send(), HudElement::size, HudElement::text, HudElement::text2, TOCLIENT_HUDADD, HudElement::type, HudElement::world_pos, and HudElement::z_index.

Referenced by hudAdd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendHUDChange()

void Server::SendHUDChange ( session_t  peer_id,
u32  id,
HudElementStat  stat,
void *  value 
)
private

References HUD_STAT_ALIGN, HUD_STAT_DIR, HUD_STAT_ITEM, HUD_STAT_NAME, HUD_STAT_NUMBER, HUD_STAT_OFFSET, HUD_STAT_POS, HUD_STAT_SCALE, HUD_STAT_SIZE, HUD_STAT_TEXT, HUD_STAT_TEXT2, HUD_STAT_WORLD_POS, Send(), and TOCLIENT_HUDCHANGE.

Referenced by hudChange().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendHUDRemove()

void Server::SendHUDRemove ( session_t  peer_id,
u32  id 
)
private

References Send(), and TOCLIENT_HUDRM.

Referenced by hudRemove().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendHUDSetFlags()

void Server::SendHUDSetFlags ( session_t  peer_id,
u32  flags,
u32  mask 
)
private

References HUD_FLAG_BREATHBAR_VISIBLE, HUD_FLAG_HEALTHBAR_VISIBLE, Send(), and TOCLIENT_HUD_SET_FLAGS.

Referenced by hudSetFlags().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendHUDSetParam()

void Server::SendHUDSetParam ( session_t  peer_id,
u16  param,
const std::string &  value 
)
private

References Send(), and TOCLIENT_HUD_SET_PARAM.

Referenced by hudSetHotbarImage(), hudSetHotbarItemcount(), and hudSetHotbarSelectedImage().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendInventory()

void Server::SendInventory ( PlayerSAO playerSAO,
bool  incremental 
)

References PlayerSAO::getInventory(), PlayerSAO::getPeerID(), PlayerSAO::getPlayer(), RemotePlayer::protocol_version, NetworkPacket::putRawString(), Send(), Inventory::serialize(), Inventory::setModified(), RemotePlayer::setModified(), TOCLIENT_INVENTORY, and UpdateCrafting().

Referenced by handleCommand_Interact(), ObjectRef::l_set_wielded_item(), StageTwoClientInit(), and ServerEnvironment::step().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendItemDef()

void Server::SendItemDef ( session_t  peer_id,
IItemDefManager itemdef,
u16  protocol_version 
)
private

References compressZlib(), NetworkPacket::getSize(), NetworkPacket::putLongString(), Send(), IItemDefManager::serialize(), TOCLIENT_ITEMDEF, and verbosestream.

Referenced by handleCommand_Init2().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendLocalPlayerAnimations()

void Server::SendLocalPlayerAnimations ( session_t  peer_id,
v2s32  animation_frames[4],
f32  animation_speed 
)
private

References Send(), and TOCLIENT_LOCAL_PLAYER_ANIMATIONS.

Referenced by setLocalPlayerAnimations().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sendMediaAnnouncement()

void Server::sendMediaAnnouncement ( session_t  peer_id,
const std::string &  lang_code 
)
private

References g_settings, Settings::get(), NetworkPacket::getSize(), m_media, Send(), str_ends_with(), TOCLIENT_ANNOUNCE_MEDIA, and verbosestream.

Referenced by handleCommand_Init2().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sendMetadataChanged()

void Server::sendMetadataChanged ( const std::list< v3s16 > &  meta_updates,
float  far_d_nodes = 100 
)
private

References BS, NodeMetadataList::clear(), compressZlib(), ServerEnvironment::getActiveObject(), ServerActiveObject::getBasePosition(), ClientInterface::getClientIDs(), ServerEnvironment::getMap(), getNodeBlockPos(), Map::getNodeMetadata(), intToFloat(), ClientInterface::lock(), ClientInterface::lockedGetClientNoEx(), m_clients, m_env, NetworkPacket::putLongString(), ClientInterface::send(), NodeMetadataList::serialize(), NodeMetadataList::set(), NodeMetadataList::size(), TOCLIENT_NODEMETA_CHANGED, and ClientInterface::unlock().

Referenced by AsyncRunStep().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendMinimapModes()

void Server::SendMinimapModes ( session_t  peer_id,
std::vector< MinimapMode > &  modes,
size_t  wanted_mode 
)

References RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), m_env, PEER_ID_INEXISTENT, Send(), and TOCLIENT_MINIMAP_MODES.

Referenced by ObjectRef::l_set_minimap_modes().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sendModChannelMessage()

bool Server::sendModChannelMessage ( const std::string &  channel,
const std::string &  message 
)
virtual

Implements IGameDef.

References broadcastModChannelMessage(), m_modchannel_mgr, and PEER_ID_SERVER.

+ Here is the call graph for this function:

◆ SendMovement()

void Server::SendMovement ( session_t  peer_id)
private

References g_settings, Settings::getFloat(), Send(), and TOCLIENT_MOVEMENT.

Referenced by handleCommand_Init2().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendMovePlayer()

void Server::SendMovePlayer ( session_t  peer_id)

References ServerActiveObject::getBasePosition(), PlayerSAO::getLookPitch(), ServerEnvironment::getPlayer(), RemotePlayer::getPlayerSAO(), UnitSAO::getRotation(), m_env, Send(), UnitSAO::sendOutdatedData(), TOCLIENT_MOVE_PLAYER, and verbosestream.

Referenced by PlayerSAO::moveTo(), process_PlayerPos(), PlayerSAO::setLookPitchAndSend(), PlayerSAO::setPlayerYawAndSend(), PlayerSAO::setPos(), StageTwoClientInit(), and PlayerSAO::step().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendNodeDef()

void Server::SendNodeDef ( session_t  peer_id,
const NodeDefManager nodedef,
u16  protocol_version 
)
private

References compressZlib(), NetworkPacket::getSize(), NetworkPacket::putLongString(), Send(), NodeDefManager::serialize(), TOCLIENT_NODEDEF, and verbosestream.

Referenced by handleCommand_Init2().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendOverrideDayNightRatio()

void Server::SendOverrideDayNightRatio ( session_t  peer_id,
bool  do_override,
float  ratio 
)
private

References Send(), and TOCLIENT_OVERRIDE_DAY_NIGHT_RATIO.

Referenced by overrideDayNightRatio().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendPlayerBreath()

void Server::SendPlayerBreath ( PlayerSAO sao)

References PlayerSAO::getBreath(), PlayerSAO::getPeerID(), m_script, ScriptApiEnv::player_event(), and SendBreath().

Referenced by PlayerSAO::setBreath(), and StageTwoClientInit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendPlayerFormspecPrepend()

void Server::SendPlayerFormspecPrepend ( session_t  peer_id)
private

References Player::formspec_prepend, RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), m_env, PEER_ID_INEXISTENT, Send(), and TOCLIENT_FORMSPEC_PREPEND.

Referenced by reportFormspecPrependModified().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendPlayerFov()

void Server::SendPlayerFov ( session_t  peer_id)

References PlayerFovSpec::fov, Player::getFov(), ServerEnvironment::getPlayer(), PlayerFovSpec::is_multiplier, m_env, Send(), TOCLIENT_FOV, and PlayerFovSpec::transition_time.

Referenced by ObjectRef::l_set_fov().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendPlayerHP()

void Server::SendPlayerHP ( session_t  peer_id)
private

References UnitSAO::getHP(), getPlayerSAO(), m_script, ScriptApiEnv::player_event(), SendHP(), and UnitSAO::sendPunchCommand().

Referenced by DiePlayer(), RespawnPlayer(), and SendPlayerHPOrDie().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendPlayerHPOrDie()

void Server::SendPlayerHPOrDie ( PlayerSAO player,
const PlayerHPChangeReason reason 
)

References DiePlayer(), PlayerSAO::getPeerID(), UnitSAO::isDead(), UnitSAO::isImmortal(), and SendPlayerHP().

Referenced by handleCommand_Damage(), handleCommand_Interact(), ObjectRef::l_punch(), ObjectRef::l_set_hp(), read_object_properties(), StageTwoClientInit(), and PlayerSAO::step().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendPlayerInventoryFormspec()

void Server::SendPlayerInventoryFormspec ( session_t  peer_id)
private

References RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), Player::inventory_formspec, m_env, PEER_ID_INEXISTENT, NetworkPacket::putLongString(), Send(), and TOCLIENT_INVENTORY_FORMSPEC.

Referenced by reportInventoryFormspecModified(), and StageTwoClientInit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendPlayerPrivileges()

void Server::SendPlayerPrivileges ( session_t  peer_id)
private

References ScriptApiServer::getAuth(), Player::getName(), RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), m_env, m_script, PEER_ID_INEXISTENT, Send(), and TOCLIENT_PRIVILEGES.

Referenced by reportPrivsModified(), and StageTwoClientInit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendPlayerSpeed()

void Server::SendPlayerSpeed ( session_t  peer_id,
const v3f added_vel 
)

References Send(), and TOCLIENT_PLAYER_SPEED.

Referenced by ObjectRef::l_add_velocity().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sendRemoveNode()

void Server::sendRemoveNode ( v3s16  p,
std::unordered_set< u16 > *  far_players = nullptr,
float  far_d_nodes = 100 
)
private

References BS, ServerActiveObject::getBasePosition(), ClientInterface::getClientIDs(), getNodeBlockPos(), ServerEnvironment::getPlayer(), RemotePlayer::getPlayerSAO(), intToFloat(), ClientInterface::lock(), ClientInterface::lockedGetClientNoEx(), m_clients, m_env, p(), ClientInterface::send(), TOCLIENT_REMOVENODE, and ClientInterface::unlock().

Referenced by AsyncRunStep().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sendRequestedMedia()

void Server::sendRequestedMedia ( session_t  peer_id,
const std::vector< std::string > &  tosend 
)
private

References errorstream, NetworkPacket::getSize(), m_media, NetworkPacket::putLongString(), Send(), TOCLIENT_MEDIA, and verbosestream.

Referenced by handleCommand_RequestMedia().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendSetMoon()

void Server::SendSetMoon ( session_t  peer_id,
const MoonParams params 
)
private

References params, Send(), and TOCLIENT_SET_MOON.

Referenced by setMoon().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendSetSky()

void Server::SendSetSky ( session_t  peer_id,
const SkyboxParams params 
)
private

References ClientInterface::getProtocolVersion(), m_clients, params, Send(), and TOCLIENT_SET_SKY.

Referenced by setSky().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendSetStars()

void Server::SendSetStars ( session_t  peer_id,
const StarParams params 
)
private

References params, Send(), and TOCLIENT_SET_STARS.

Referenced by setStars().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendSetSun()

void Server::SendSetSun ( session_t  peer_id,
const SunParams params 
)
private

References params, Send(), and TOCLIENT_SET_SUN.

Referenced by setSun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendShowFormspecMessage()

void Server::SendShowFormspecMessage ( session_t  peer_id,
const std::string &  formspec,
const std::string &  formname 
)
private

References m_formspec_state_data, NetworkPacket::putLongString(), Send(), and TOCLIENT_SHOW_FORMSPEC.

Referenced by showFormspec().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendSpawnParticle()

void Server::SendSpawnParticle ( session_t  peer_id,
u16  protocol_version,
const ParticleParameters p 
)
private

References BS, g_settings, ServerActiveObject::getBasePosition(), ClientInterface::getClientIDs(), ServerEnvironment::getPlayer(), RemotePlayer::getPlayerSAO(), Settings::getS16(), m_clients, m_env, MAP_BLOCKSIZE, p(), PEER_ID_INEXISTENT, RemotePlayer::protocol_version, NetworkPacket::putRawString(), Send(), and TOCLIENT_SPAWN_PARTICLE.

Referenced by spawnParticle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendTimeOfDay()

void Server::SendTimeOfDay ( session_t  peer_id,
u16  time,
f32  time_speed 
)
private

References m_clients, PEER_ID_INEXISTENT, Send(), ClientInterface::sendToAll(), and TOCLIENT_TIME_OF_DAY.

Referenced by AsyncRunStep(), and handleCommand_Init2().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setAsyncFatalError()

void Server::setAsyncFatalError ( const std::string &  error)
inline

References m_async_fatal_error, and MutexedVariable< T >::set().

Referenced by ScriptApiEnv::environment_Step(), EmergeThread::finishGen(), ScriptApiEnv::player_event(), EmergeThread::run(), and ServerThread::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetBlocksNotSent()

void Server::SetBlocksNotSent ( std::map< v3s16, MapBlock * > &  block)
private

References ClientInterface::getClientIDs(), ClientInterface::lock(), ClientInterface::lockedGetClientNoEx(), m_clients, and ClientInterface::unlock().

Referenced by AsyncRunStep(), and EmergeThread::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setClouds()

void Server::setClouds ( RemotePlayer player,
const CloudParams params 
)

References RemotePlayer::getPeerId(), params, sanity_check, SendCloudParams(), and RemotePlayer::setCloudParams().

Referenced by ObjectRef::l_set_clouds().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setIpBanned()

void Server::setIpBanned ( const std::string &  ip,
const std::string &  name 
)

References BanManager::add(), and m_banmanager.

+ Here is the call graph for this function:

◆ setLocalPlayerAnimations()

void Server::setLocalPlayerAnimations ( RemotePlayer player,
v2s32  animation_frames[4],
f32  frame_speed 
)

References RemotePlayer::getPeerId(), sanity_check, SendLocalPlayerAnimations(), and RemotePlayer::setLocalAnimations().

Referenced by ObjectRef::l_set_local_animation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setMoon()

void Server::setMoon ( RemotePlayer player,
const MoonParams params 
)

References RemotePlayer::getPeerId(), params, sanity_check, SendSetMoon(), and RemotePlayer::setMoon().

Referenced by ObjectRef::l_set_moon(), and ObjectRef::l_set_sky().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setPlayerEyeOffset()

void Server::setPlayerEyeOffset ( RemotePlayer player,
const v3f first,
const v3f third 
)

References Player::eye_offset_first, Player::eye_offset_third, RemotePlayer::getPeerId(), sanity_check, and SendEyeOffset().

Referenced by ObjectRef::l_set_eye_offset().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setSky()

void Server::setSky ( RemotePlayer player,
const SkyboxParams params 
)

References RemotePlayer::getPeerId(), params, sanity_check, SendSetSky(), and RemotePlayer::setSky().

Referenced by ObjectRef::l_set_sky().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setStars()

void Server::setStars ( RemotePlayer player,
const StarParams params 
)

References RemotePlayer::getPeerId(), params, sanity_check, SendSetStars(), and RemotePlayer::setStars().

Referenced by ObjectRef::l_set_sky(), and ObjectRef::l_set_stars().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setSun()

void Server::setSun ( RemotePlayer player,
const SunParams params 
)

References RemotePlayer::getPeerId(), params, sanity_check, SendSetSun(), and RemotePlayer::setSun().

Referenced by ObjectRef::l_set_sky(), and ObjectRef::l_set_sun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setTimeOfDay()

void Server::setTimeOfDay ( u32  time)

References m_env, m_time_of_day_send_timer, and Environment::setTimeOfDay().

Referenced by ModApiEnvMod::l_set_timeofday().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showFormspec()

bool Server::showFormspec ( const char *  name,
const std::string &  formspec,
const std::string &  formname 
)

References RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), m_env, and SendShowFormspecMessage().

+ Here is the call graph for this function:

◆ spawnParticle()

void Server::spawnParticle ( const std::string &  playername,
const ParticleParameters p 
)

References RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), m_env, p(), PEER_ID_INEXISTENT, RemotePlayer::protocol_version, and SendSpawnParticle().

Referenced by ModApiParticles::l_add_particle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ StageTwoClientInit()

PlayerSAO * Server::StageTwoClientInit ( session_t  peer_id)

References actionstream, CS_InitDone, DenyAccess_Legacy(), emergePlayer(), errorstream, Player::getName(), getPeerAddress(), RemotePlayer::getPeerId(), ServerEnvironment::getPlayer(), ClientInterface::getPlayerNames(), UnitSAO::isDead(), ClientInterface::lock(), ClientInterface::lockedGetClientNoEx(), m_clients, m_env, PEER_ID_INEXISTENT, SendDeathscreen(), SendInventory(), SendMovePlayer(), SendPlayerBreath(), SendPlayerHPOrDie(), SendPlayerInventoryFormspec(), SendPlayerPrivileges(), Address::serializeString(), PlayerHPChangeReason::SET_HP, and ClientInterface::unlock().

Referenced by handleCommand_ClientReady().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ start()

void Server::start ( )

References actionstream, Address::getPort(), SubgameSpec::id, infostream, init(), m_bind_addr, m_con, m_gamespec, m_path_world, m_thread, Address::serializeString(), Thread::start(), and Thread::stop().

+ Here is the call graph for this function:

◆ step()

void Server::step ( float  dtime)

References g_settings, MutexedVariable< T >::get(), Settings::get(), Settings::getBool(), ServerEnvironment::kickAllPlayers(), m_async_fatal_error, m_env, m_simple_singleplayer_mode, m_step_dtime, m_step_dtime_mutex, and SERVER_ACCESSDENIED_CRASH.

Referenced by fadeSound().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stop()

void Server::stop ( )

References infostream, m_thread, Thread::stop(), and Thread::wait().

Referenced by ~Server().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stopSound()

void Server::stopSound ( s32  handle)

References ServerPlayingSound::clients, m_clients, m_playing_sounds, ClientInterface::send(), and TOCLIENT_STOP_SOUND.

Referenced by ModApiServer::l_sound_stop().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ unregisterModStorage()

void Server::unregisterModStorage ( const std::string &  name)
virtual

Implements IGameDef.

References getModStoragePath(), and m_mod_storages.

+ Here is the call graph for this function:

◆ unsetIpBanned()

void Server::unsetIpBanned ( const std::string &  ip_or_name)

References m_banmanager, and BanManager::remove().

Referenced by ModApiServer::l_unban_player_or_ip().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateCrafting()

void Server::UpdateCrafting ( RemotePlayer player)
private

References InventoryList::changeItem(), InventoryList::checkModified(), getCraftingResult(), Inventory::getList(), Player::getName(), RemotePlayer::getPlayerSAO(), ServerEnvironment::getScriptIface(), InventoryList::getSize(), Player::inventory, ScriptApiItem::item_CraftPredict(), m_env, and InventoryLocation::setPlayer().

Referenced by SendInventory().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Friends And Related Function Documentation

◆ EmergeThread

friend class EmergeThread
friend

◆ RemoteClient

friend class RemoteClient
friend

◆ TestServerShutdownState

friend class TestServerShutdownState
friend

Member Data Documentation

◆ m_admin_chat

◆ m_admin_nick

std::string Server::m_admin_nick
private

◆ m_aom_buffer_counter

MetricCounterPtr Server::m_aom_buffer_counter
private

Referenced by Server(), and AsyncRunStep().

◆ m_async_fatal_error

MutexedVariable<std::string> Server::m_async_fatal_error
private

Referenced by setAsyncFatalError(), and step().

◆ m_banmanager

BanManager* Server::m_banmanager = nullptr
private

◆ m_bind_addr

Address Server::m_bind_addr

Referenced by AsyncRunStep(), and start().

◆ m_clients

◆ m_con

std::shared_ptr<con::Connection> Server::m_con
private

◆ m_craftdef

◆ m_csm_restriction_flags

u64 Server::m_csm_restriction_flags = CSMRestrictionFlags::CSM_RF_NONE
private

Referenced by init(), and SendCSMRestrictionFlags().

◆ m_csm_restriction_noderange

u32 Server::m_csm_restriction_noderange = 8
private

Referenced by init(), and SendCSMRestrictionFlags().

◆ m_dedicated

bool Server::m_dedicated
private

Referenced by AsyncRunStep().

◆ m_emerge

◆ m_emergethread_trigger_timer

float Server::m_emergethread_trigger_timer = 0.0f
private

Referenced by AsyncRunStep().

◆ m_env

◆ m_env_mutex

◆ m_formspec_state_data

std::unordered_map<session_t, std::string> Server::m_formspec_state_data
private

◆ m_game_settings

Settings* Server::m_game_settings = nullptr
private

Referenced by ~Server(), and init().

◆ m_gamespec

SubgameSpec Server::m_gamespec
private

◆ m_ignore_map_edit_events_area

VoxelArea Server::m_ignore_map_edit_events_area
private

◆ m_inventory_mgr

◆ m_itemdef

◆ m_lag_gauge

MetricGaugePtr Server::m_lag_gauge
private

Referenced by Server(), and AsyncRunStep().

◆ m_liquid_transform_every

float Server::m_liquid_transform_every = 1.0f
private

Referenced by AsyncRunStep(), and init().

◆ m_liquid_transform_timer

float Server::m_liquid_transform_timer = 0.0f
private

Referenced by AsyncRunStep().

◆ m_map_timer_and_unload_interval

IntervalLimiter Server::m_map_timer_and_unload_interval
private

Referenced by AsyncRunStep().

◆ m_masterserver_timer

float Server::m_masterserver_timer = 0.0f
private

Referenced by AsyncRunStep().

◆ m_max_chatmessage_length

u16 Server::m_max_chatmessage_length
private

Referenced by handleChat(), and init().

◆ m_media

std::unordered_map<std::string, MediaInfo> Server::m_media
private

◆ m_metrics_backend

std::unique_ptr<MetricsBackend> Server::m_metrics_backend
private

Referenced by Server(), and init().

◆ m_mod_storage_save_timer

float Server::m_mod_storage_save_timer = 10.0f
private

Referenced by AsyncRunStep().

◆ m_mod_storages

std::unordered_map<std::string, ModMetadata *> Server::m_mod_storages
private

◆ m_modchannel_mgr

◆ m_modmgr

std::unique_ptr<ServerModManager> Server::m_modmgr
private

◆ m_next_sound_id

s32 Server::m_next_sound_id = 0
private

Referenced by nextSoundId().

◆ m_nodedef

◆ m_on_shutdown_errmsg

std::string* const Server::m_on_shutdown_errmsg
private

Referenced by ~Server().

◆ m_packet_recv_counter

MetricCounterPtr Server::m_packet_recv_counter
private

Referenced by Server(), and Receive().

◆ m_packet_recv_processed_counter

MetricCounterPtr Server::m_packet_recv_processed_counter
private

Referenced by Server(), and Receive().

◆ m_path_world

std::string Server::m_path_world
private

◆ m_peer_change_queue

std::queue<con::PeerChange> Server::m_peer_change_queue
private

◆ m_player_gauge

MetricGaugePtr Server::m_player_gauge
private

Referenced by Server(), and AsyncRunStep().

◆ m_playing_sounds

std::unordered_map<s32, ServerPlayingSound> Server::m_playing_sounds
private

◆ m_rollback

◆ m_savemap_timer

float Server::m_savemap_timer = 0.0f
private

Referenced by AsyncRunStep().

◆ m_script

◆ m_shutdown_state

◆ m_simple_singleplayer_mode

bool Server::m_simple_singleplayer_mode
private

◆ m_startup_server_map

ServerMap* Server::m_startup_server_map = nullptr
private

Referenced by ~Server(), and init().

◆ m_step_dtime

float Server::m_step_dtime = 0.0f
private

Referenced by AsyncRunStep(), and step().

◆ m_step_dtime_mutex

std::mutex Server::m_step_dtime_mutex
private

Referenced by AsyncRunStep(), and step().

◆ m_thread

ServerThread* Server::m_thread = nullptr
private

Referenced by ~Server(), start(), and stop().

◆ m_time_of_day_send_timer

float Server::m_time_of_day_send_timer = 0.0f
private

Referenced by AsyncRunStep(), and setTimeOfDay().

◆ m_timeofday_gauge

MetricGaugePtr Server::m_timeofday_gauge
private

Referenced by Server(), and AsyncRunStep().

◆ m_unsent_map_edit_queue

std::queue<MapEditEvent*> Server::m_unsent_map_edit_queue
private

◆ m_uptime_counter

MetricCounterPtr Server::m_uptime_counter
private

◆ server_translations

std::unordered_map<std::string, Translations> Server::server_translations
private

Referenced by getTranslationLanguage().


The documentation for this class was generated from the following files: