26#include <unordered_map>
27#include <unordered_set>
30#include <shared_mutex>
31#include <condition_variable>
110 std::string_view sha1_digest_):
171 std::unordered_map<std::string, std::unique_ptr<PackedValue>>
map;
186 const std::string &path_world,
188 bool simple_singleplayer_mode,
192 std::string *shutdown_errmsg =
nullptr
204 void AsyncRunStep(
float dtime,
bool initial_step =
false);
274 void requestShutdown(
const std::string &msg,
bool reconnect,
float delay = 0.0f);
284 bool checkPriv(
const std::string &name,
const std::string &priv);
289 void setIpBanned(
const std::string &ip,
const std::string &name);
294 void notifyPlayer(
const char *name,
const std::wstring &msg);
302 const std::string &exclude_player);
309 std::optional<std::string_view>
data;
326 std::list<std::string> *log);
344 const std::vector<ModSpec> &
getMods()
const override;
369 bool showFormspec(
const char *name,
const std::string &formspec,
const std::string &formname);
406 std::string_view custom_reason =
"",
bool reconnect =
false);
408 const std::string &str_reason,
bool reconnect);
428 std::vector<MinimapMode> &modes,
447 std::unordered_map<std::string, std::string>
getMediaList();
454 const std::string &world_path,
const Settings &world_mt);
508 void trigger(
float delay,
const std::string &msg,
bool reconnect);
525 return std::hash<v3s16>()(
p.first) ^
p.second;
537 std::string_view custom_reason,
bool reconnect =
false);
540 u16 protocol_version);
547 f32 animation_speed);
553 const std::string &formname);
568 const std::string &message,
session_t from_peer);
577 float far_d_nodes = 100);
579 std::unordered_set<u16> *far_players =
nullptr,
580 float far_d_nodes = 100,
bool remove_metadata =
true);
582 v3f p,
float far_d_nodes, std::unordered_set<u16> *far_players);
585 float far_d_nodes = 100);
595 bool addMediaFile(
const std::string &filename,
const std::string &filepath,
596 std::string *filedata =
nullptr, std::string *digest =
nullptr);
600 const std::unordered_set<std::string> &tosend);
605 const std::string &exclude_player,
615 const std::vector<ParticleParameters> &particles);
621 bool reliable =
true);
637 bool checkUserLimit(
const std::string &player_name,
const std::string &addr_s);
640 std::wstring
handleChat(
const std::string &name, std::wstring wmessage_input,
641 bool check_shout_priv =
false,
RemotePlayer *player =
nullptr);
701 std::shared_ptr<con::IConnection>
m_con;
780 std::unordered_map<std::string, MediaInfo>
m_media;
Definition chat_interface.h:18
Definition clientiface.h:436
Definition craftdef.h:394
Definition rollback_interface.h:98
Definition craftdef.h:423
Definition inventory.h:277
Definition metricsbackend.h:39
Definition modchannels.h:52
Definition modchannels.h:23
Definition exceptions.h:91
Definition networkpacket.h:16
This class is for getting the actual properties of nodes from their content ID.
Definition nodedef.h:514
Definition player_sao.h:58
Definition remoteplayer.h:28
Definition serveractiveobject.h:42
Definition serverenvironment.h:113
Definition serverinventorymgr.h:17
Manages server mods.
Definition mods.h:17
Definition scripting_server.h:34
EnvAutoLock(Server *server)
Definition server.h:476
std::lock_guard< std::mutex > m_lock
Definition server.h:479
void kickAllPlayers(AccessDeniedCode reason, const std::string &str_reason, bool reconnect)
Definition server.cpp:3073
void setIpBanned(const std::string &ip, const std::string &name)
Definition server.cpp:3453
void sendMetadataChanged(const std::unordered_set< v3s16 > &positions, float far_d_nodes=100)
Definition server.cpp:2489
void onMapEditEvent(const MapEditEvent &event) override
Definition server.cpp:1378
void DisconnectPeer(session_t peer_id)
Definition server.cpp:3082
void peerAdded(con::IPeer *peer) override
Definition server.cpp:1386
friend class RemoteClient
Definition server.h:494
IRollbackManager * m_rollback
Definition server.h:707
void stop()
Definition server.cpp:636
void handleCommand_FirstSrp(NetworkPacket *pkt)
Definition serverpackethandler.cpp:1393
float m_liquid_transform_timer
Definition server.h:689
void setStars(RemotePlayer *player, const StarParams ¶ms)
Definition server.cpp:3675
void setSun(RemotePlayer *player, const SunParams ¶ms)
Definition server.cpp:3661
RemoteClient * getClientNoEx(session_t peer_id, ClientState state_min=CS_Active)
Definition server.cpp:3343
Translations * getTranslationLanguage(const std::string &lang_code)
Definition server.cpp:4364
void handleCommand_PlayerItem(NetworkPacket *pkt)
Definition serverpackethandler.cpp:820
std::mutex m_env_mutex
Definition server.h:667
std::unordered_map< session_t, std::string > m_formspec_state_data
Definition server.h:742
void SendPlayerFormspecPrepend(session_t peer_id)
Definition server.cpp:2193
bool rollbackRevertActions(const std::list< RollbackAction > &actions, std::list< std::string > *log)
Definition server.cpp:3950
std::string m_admin_nick
Definition server.h:751
void init()
Definition server.cpp:465
u16 m_max_chatmessage_length
Definition server.h:677
void requestShutdown(const std::string &msg, bool reconnect, float delay=0.0f)
Definition server.cpp:4159
void setStepSettings(StepSettings spdata)
Definition server.h:360
void SendShowFormspecMessage(session_t peer_id, const std::string &formspec, const std::string &formname)
Definition server.cpp:1626
void SendPlayerSpeed(session_t peer_id, const v3f &added_vel)
Definition server.cpp:2302
Address getPeerAddress(session_t peer_id)
Definition server.cpp:3628
void overrideDayNightRatio(RemotePlayer *player, bool do_override, float brightness)
Definition server.cpp:3689
const NodeDefManager * getNodeDefManager() override
Definition server.cpp:3999
void SendPlayerInventoryFormspec(session_t peer_id)
Definition server.cpp:2181
void HandlePlayerDeath(PlayerSAO *sao, const PlayerHPChangeReason &reason)
Definition server.cpp:3046
static u16 getProtocolVersionMax()
Definition server.cpp:4535
void SendMovePlayer(PlayerSAO *sao)
Definition server.cpp:2090
void DenySudoAccess(session_t peer_id)
Definition server.cpp:3058
void SendPlayerBreath(PlayerSAO *sao)
Definition server.cpp:2082
void SendAccessDenied(session_t peer_id, AccessDeniedCode reason, std::string_view custom_reason, bool reconnect=false)
Definition server.cpp:1515
IWritableCraftDefManager * m_craftdef
Definition server.h:719
ModStorageDatabase * m_mod_storage_database
Definition server.h:793
const ClientDynamicInfo * getClientDynamicInfo(session_t peer_id)
Definition server.cpp:1432
void spawnParticle(const std::string &playername, const ParticleParameters &p)
Definition server.cpp:3709
std::unique_ptr< PlayerSAO > emergePlayer(const char *name, session_t peer_id, u16 proto_version)
Definition server.cpp:4191
void step()
Definition server.cpp:647
MutexedVariable< std::string > m_async_fatal_error
Definition server.h:685
static ModStorageDatabase * openModStorageDatabase(const std::string &world_path)
Definition server.cpp:4401
void SendSetSky(session_t peer_id, const SkyboxParams ¶ms)
Definition server.cpp:1952
void SendHUDChange(session_t peer_id, u32 id, HudElementStat stat, void *value)
Definition server.cpp:1897
std::unordered_map< std::string, MediaInfo > m_media
Definition server.h:780
void SendHP(session_t peer_id, u16 hp, bool effect)
Definition server.cpp:1501
void SendDeleteParticleSpawner(session_t peer_id, u32 id)
Definition server.cpp:1855
u64 m_csm_restriction_flags
Definition server.h:797
bool checkInteractDistance(RemotePlayer *player, const f32 d, const std::string &what)
Definition serverpackethandler.cpp:856
void reportPrivsModified(const std::string &name="")
Definition server.cpp:3417
void sendDetachedInventory(Inventory *inventory, const std::string &name, session_t peer_id)
Definition server.cpp:3001
void handleCommand_Null(NetworkPacket *pkt)
Definition server.h:220
void handleCommand_SrpBytesA(NetworkPacket *pkt)
Definition serverpackethandler.cpp:1482
void SendAddParticleSpawner(const std::string &to_player, const std::string &exclude_player, const ParticleSpawnerParameters &p, u16 attached_id, u32 id)
send particle spawner to a selection of clients
Definition server.cpp:1714
void fadeSound(s32 handle, float step, float gain)
Definition server.cpp:2415
ModStorageDatabase * getModStorageDatabase() override
Definition server.h:337
std::queue< MapEditEvent * > m_unsent_map_edit_queue
Definition server.h:770
void hudSetHotbarSelectedImage(RemotePlayer *player, const std::string &name)
Definition server.cpp:3616
void printToConsoleOnly(const std::string &text)
Definition server.cpp:1443
void setTimeOfDay(u32 time)
Definition server.cpp:1372
void DeleteClient(session_t peer_id, ClientDeletionReason reason)
Definition server.cpp:3113
void ProcessData(NetworkPacket *pkt)
Definition server.cpp:1318
bool denyIfBanned(session_t peer_id)
Definition server.cpp:3473
void setAsyncFatalError(const std::string &error)
Definition server.cpp:4044
s32 playSound(ServerPlayingSound ¶ms, bool ephemeral=false)
Definition server.cpp:2326
BanManager * m_banmanager
Definition server.h:704
friend class EmergeThread
Definition server.h:493
void setSky(RemotePlayer *player, const SkyboxParams ¶ms)
Definition server.cpp:3654
bool m_dedicated
Definition server.h:679
ModIPCStore * getModIPCStore() override
Definition server.h:350
DISABLE_CLASS_COPY(Server)
bool addMediaFile(const std::string &filename, const std::string &filepath, std::string *filedata=nullptr, std::string *digest=nullptr)
Definition server.cpp:2657
std::string getWorldPath() const override
Definition server.h:348
void sendNodeChangePkt(NetworkPacket &pkt, v3s16 block_pos, v3f p, float far_d_nodes, std::unordered_set< u16 > *far_players)
Definition server.cpp:2460
void handleCommand_InventoryAction(NetworkPacket *pkt)
Definition serverpackethandler.cpp:570
bool checkUserLimit(const std::string &player_name, const std::string &addr_s)
Checks if user limit allows a potential client to join.
Definition server.cpp:3489
std::unique_ptr< EmergeManager > m_emerge
Definition server.h:710
void handleCommand_Interact(NetworkPacket *pkt)
Definition serverpackethandler.cpp:884
static std::vector< std::string > getModStorageDatabaseBackends()
Definition server.cpp:4420
void SendMovePlayerRel(session_t peer_id, const v3f &added_pos)
Definition server.cpp:2115
v3f findSpawnPos()
Definition server.cpp:4083
bool isClient() override
Definition server.h:329
VoxelArea m_ignore_map_edit_events_area
Definition server.h:777
std::set< std::string > getPlayerEffectivePrivs(const std::string &name)
Definition server.cpp:3404
s32 nextSoundId()
Definition server.cpp:2309
bool SendBlock(session_t peer_id, const v3s16 &blockpos)
Definition server.cpp:2641
IntervalLimiter m_map_timer_and_unload_interval
Definition server.h:694
void handleCommand_PlayerPos(NetworkPacket *pkt)
Definition serverpackethandler.cpp:517
friend class TestServerShutdownState
Definition server.h:497
Server(const std::string &path_world, const SubgameSpec &gamespec, bool simple_singleplayer_mode, UDPSocket &&socket, bool dedicated, ChatInterface *iface=nullptr, std::string *shutdown_errmsg=nullptr)
Definition server.cpp:280
void SendHUDSetFlags(session_t peer_id, u32 flags, u32 mask)
Definition server.cpp:1936
~Server()
Definition server.cpp:359
std::unique_ptr< ServerModManager > m_modmgr
Definition server.h:490
ServerEnvironment & getEnv()
Definition server.h:371
void sendDetachedInventories(session_t peer_id, bool incremental)
Definition server.cpp:3027
std::unordered_map< std::string, std::string > getMediaList()
Definition server.cpp:4388
PlayerSAO * getPlayerSAO(session_t peer_id)
Definition server.cpp:3356
void handleCommand(NetworkPacket *pkt)
Definition server.cpp:1312
void SendPlayerPrivileges(session_t peer_id)
Definition server.cpp:2162
bool joinModChannel(const std::string &channel) override
Definition server.cpp:4304
std::wstring handleChat(const std::string &name, std::wstring wmessage_input, bool check_shout_priv=false, RemotePlayer *player=nullptr)
Definition server.cpp:3235
MetricGaugePtr m_lag_gauge
Definition server.h:813
void notifyPlayer(const char *name, const std::wstring &msg)
Definition server.cpp:3498
void setMoon(RemotePlayer *player, const MoonParams ¶ms)
Definition server.cpp:3668
u16 allocateUnknownNodeId(const std::string &name) override
Definition server.cpp:4009
ClientInterface m_clients
Definition server.h:740
void stopSound(s32 handle)
Definition server.cpp:2396
friend class TestMoveAction
Definition server.h:498
float m_time_of_day_send_timer
Definition server.h:688
void handleCommand_SrpBytesM(NetworkPacket *pkt)
Definition serverpackethandler.cpp:1591
std::unordered_map< std::string, std::vector< ParticleParameters > > m_particles_to_send
Definition server.h:821
void handleCommand_InventoryFields(NetworkPacket *pkt)
Definition serverpackethandler.cpp:1340
bool getClientConInfo(session_t peer_id, con::rtt_stat_type type, float *retval)
Definition server.cpp:1402
MetricGaugePtr m_player_gauge
Definition server.h:811
void addShutdownError(const ModError &e)
Definition server.cpp:4062
float m_mod_storage_save_timer
Definition server.h:794
const std::vector< ModSpec > & getMods() const override
Definition server.cpp:4029
void SendOverrideDayNightRatio(session_t peer_id, bool do_override, float ratio)
Definition server.cpp:2025
std::string getBanDescription(const std::string &ip_or_name)
Definition server.cpp:3468
std::unordered_map< s32, ServerPlayingSound > m_playing_sounds
Definition server.h:789
MetricCounterPtr m_packet_recv_processed_counter
Definition server.h:816
ICraftDefManager * getCraftDefManager() override
Definition server.cpp:4004
float m_masterserver_timer
Definition server.h:691
void SendSetSun(session_t peer_id, const SunParams ¶ms)
Definition server.cpp:1988
void setLighting(RemotePlayer *player, const Lighting &lighting)
Definition server.cpp:3697
void SendSetMoon(session_t peer_id, const MoonParams ¶ms)
Definition server.cpp:1997
void UpdateCrafting(RemotePlayer *player)
Definition server.cpp:3191
bool checkPriv(const std::string &name, const std::string &priv)
Definition server.cpp:3411
void handleCommand_HaveMedia(NetworkPacket *pkt)
Definition serverpackethandler.cpp:1757
NodeDefManager * getWritableNodeDefManager()
Definition server.cpp:4019
ShutdownState m_shutdown_state
Definition server.h:748
std::atomic< StepSettings > m_step_settings
Definition server.h:732
MetricCounterPtr m_uptime_counter
Definition server.h:810
IRollbackManager * getRollbackManager() override
Definition server.h:335
u32 addParticleSpawner(const ParticleSpawnerParameters &p, ServerActiveObject *attached, const std::string &to_player, const std::string &exclude_player)
Definition server.cpp:3719
IWritableItemDefManager * getWritableItemDefManager()
Definition server.cpp:4014
void handleCommand_ModChannelLeave(NetworkPacket *pkt)
Definition serverpackethandler.cpp:1704
void handleCommand_ClientReady(NetworkPacket *pkt)
Definition serverpackethandler.cpp:354
void SendPlayerHP(PlayerSAO *sao, bool effect)
Definition server.cpp:1496
EmergeManager * getEmergeManager()
Definition server.h:336
void handleAdminChat(const ChatEventChat *evt)
Definition server.cpp:3322
void SendItemDef(session_t peer_id, IItemDefManager *itemdef, u16 protocol_version)
Definition server.cpp:1525
RemoteClient * getClient(session_t peer_id, ClientState state_min=CS_Active)
Definition server.cpp:3335
const SubgameSpec * getGameSpec() const override
Definition server.h:346
void SendSetLighting(session_t peer_id, const Lighting &lighting)
Definition server.cpp:2036
bool hudSetFlags(RemotePlayer *player, u32 flags, u32 mask)
Definition server.cpp:3565
std::vector< std::pair< std::string, std::string > > m_mapgen_init_files
Definition server.h:465
float m_step_pending_dyn_media_timer
Definition server.h:784
void start()
Definition server.cpp:599
MetricCounterPtr m_aom_buffer_counter[2]
Definition server.h:814
MetricCounterPtr m_packet_recv_counter
Definition server.h:815
IWritableCraftDefManager * getWritableCraftDefManager()
Definition server.cpp:4024
void SendHUDAdd(session_t peer_id, u32 id, HudElement *form)
Definition server.cpp:1868
std::unique_ptr< ModChannelMgr > m_modchannel_mgr
Definition server.h:801
bool isShutdownRequested() const
Definition server.h:271
std::unique_ptr< ServerInventoryManager > m_inventory_mgr
Definition server.h:804
void sendRemoveNode(v3s16 p, std::unordered_set< u16 > *far_players=nullptr, float far_d_nodes=100)
Definition server.cpp:2436
void SendCloudParams(session_t peer_id, const CloudParams ¶ms)
Definition server.cpp:2017
bool showFormspec(const char *name, const std::string &formspec, const std::string &formname)
Definition server.cpp:3515
bool hudRemove(RemotePlayer *player, u32 id)
Definition server.cpp:3545
void SendHUDSetParam(session_t peer_id, u16 param, std::string_view value)
Definition server.cpp:1945
void broadcastModChannelMessage(const std::string &channel, const std::string &message, session_t from_peer)
Definition server.cpp:4329
void unsetIpBanned(const std::string &ip_or_name)
Definition server.cpp:3463
std::unique_ptr< ServerScripting > m_script
Definition server.h:487
void sendRequestedMedia(session_t peer_id, const std::unordered_set< std::string > &tosend)
Definition server.cpp:2839
MetricCounterPtr m_map_edit_event_counter
Definition server.h:817
void SendLocalPlayerAnimations(session_t peer_id, v2f animation_frames[4], f32 animation_speed)
Definition server.cpp:2136
float m_savemap_timer
Definition server.h:693
float m_liquid_transform_every
Definition server.h:690
void SendTimeOfDay(session_t peer_id, u16 time, f32 time_speed)
Definition server.cpp:2069
ModChannel * getModChannel(const std::string &channel) override
Definition server.cpp:4324
void process_PlayerPos(RemotePlayer *player, PlayerSAO *playersao, NetworkPacket *pkt)
Definition serverpackethandler.cpp:440
Address m_bind_addr
Definition server.h:471
void DenyAccess(session_t peer_id, AccessDeniedCode reason, std::string_view custom_reason="", bool reconnect=false)
Definition server.cpp:3065
bool sendModChannelMessage(const std::string &channel, const std::string &message) override
Definition server.cpp:4315
bool getClientInfo(session_t peer_id, ClientInfo &ret)
Definition server.cpp:1408
void SendBlockNoLock(session_t peer_id, MapBlock *block, u8 ver, u16 net_proto_version, SerializedBlockCache *cache=nullptr)
Definition server.cpp:2541
void SendHUDRemove(session_t peer_id, u32 id)
Definition server.cpp:1890
static std::string getBuiltinLuaPath()
Definition server.cpp:4039
void deleteParticleSpawner(const std::string &playername, u32 id)
Definition server.cpp:3738
void SendEyeOffset(session_t peer_id, v3f first, v3f third, v3f third_front)
Definition server.cpp:2155
IWritableItemDefManager * m_itemdef
Definition server.h:713
void handleCommand_ModChannelMsg(NetworkPacket *pkt)
Definition serverpackethandler.cpp:1728
ServerScripting * getScriptIface()
Definition server.h:321
void handleCommand_Init2(NetworkPacket *pkt)
Definition serverpackethandler.cpp:269
void yieldToOtherThreads(float dtime)
Definition server.cpp:1183
void handleCommand_GotBlocks(NetworkPacket *pkt)
Definition serverpackethandler.cpp:412
std::unique_ptr< MetricsBackend > m_metrics_backend
Definition server.h:807
std::unordered_map< u32, PendingDynamicMediaCallback > m_pending_dyn_media
Definition server.h:783
std::string getModDataPath() const override
Definition server.h:349
void handleCommand_Init(NetworkPacket *pkt)
Definition serverpackethandler.cpp:43
IntervalLimiter m_max_lag_decrease
Definition server.h:695
void deletingPeer(con::IPeer *peer, bool timeout) override
Definition server.cpp:1393
void SendSpawnParticles()
Definition server.cpp:1694
bool leaveModChannel(const std::string &channel) override
Definition server.cpp:4310
void acceptAuth(session_t peer_id, bool forSudoMode)
Definition server.cpp:3088
void reportFormspecPrependModified(const std::string &name)
Definition server.cpp:3445
void handleCommand_DeletedBlocks(NetworkPacket *pkt)
Definition serverpackethandler.cpp:542
void SendMovement(session_t peer_id)
Definition server.cpp:1464
void handleCommand_Damage(NetworkPacket *pkt)
Definition serverpackethandler.cpp:784
static bool migrateModStorageDatabase(const GameParams &game_params, const Settings &cmd_args)
Definition server.cpp:4455
void handleCommand_RemovedSounds(NetworkPacket *pkt)
Definition serverpackethandler.cpp:1238
void handleCommand_Deprecated(NetworkPacket *pkt)
Definition serverpackethandler.cpp:36
Map & getMap()
Definition server.cpp:4078
void handleCommand_ChatMessage(NetworkPacket *pkt)
Definition serverpackethandler.cpp:762
void handleChatInterfaceEvent(ChatEvent *evt)
Definition server.cpp:3216
ServerThread * m_thread
Definition server.h:735
ServerInventoryManager * getInventoryMgr() const
Definition server.h:317
void SendActiveObjectMessages(session_t peer_id, const std::string &datas, bool reliable=true)
Definition server.cpp:2282
double getUptime() const
Definition server.h:268
void handleCommand_NodeMetaFields(NetworkPacket *pkt)
Definition serverpackethandler.cpp:1283
std::unique_ptr< PackedValue > m_lua_globals_data
Definition server.h:468
PlayerSAO * StageTwoClientInit(session_t peer_id)
Definition server.cpp:1229
const ModSpec * getModSpec(const std::string &modname) const override
Definition server.cpp:4034
void sendAddNode(v3s16 p, MapNode n, std::unordered_set< u16 > *far_players=nullptr, float far_d_nodes=100, bool remove_metadata=true)
Definition server.cpp:2448
std::vector< std::pair< std::string, std::string > > m_async_init_files
Definition server.h:463
void SendCSMRestrictionFlags(session_t peer_id)
Definition server.cpp:2294
void setPlayerEyeOffset(RemotePlayer *player, v3f first, v3f third, v3f third_front)
Definition server.cpp:3641
void reportInventoryFormspecModified(const std::string &name)
Definition server.cpp:3437
void SendSetStars(session_t peer_id, const StarParams ¶ms)
Definition server.cpp:2006
virtual void SendChatMessage(session_t peer_id, const ChatMessage &message)
Definition server.cpp:1610
std::string getStatusString()
Definition server.cpp:3364
void SendActiveObjectRemoveAdd(RemoteClient *client, PlayerSAO *playersao)
Definition server.cpp:2204
IItemDefManager * getItemDefManager() override
Definition server.cpp:3994
void SendInventory(RemotePlayer *player, bool incremental, bool skip_wield_anim=false)
Definition server.cpp:1581
void AsyncRunStep(float dtime, bool initial_step=false)
Definition server.cpp:661
MetricGaugePtr m_timeofday_gauge
Definition server.h:812
Settings * m_game_settings
Definition server.h:682
SubgameSpec m_gamespec
Definition server.h:673
std::string getPlayerName(session_t peer_id)
Definition server.cpp:3348
void hudSetHotbarImage(RemotePlayer *player, const std::string &name)
Definition server.cpp:3604
void stepPendingDynMediaCallbacks(float dtime)
Definition server.cpp:2960
std::string m_path_world
Definition server.h:670
bool isSingleplayer() const
Definition server.h:352
bool dynamicAddMedia(const DynamicMediaArgs &args)
Definition server.cpp:3778
void handleCommand_ModChannelJoin(NetworkPacket *pkt)
Definition serverpackethandler.cpp:1679
void Send(NetworkPacket *pkt)
Definition server.cpp:1453
void handleCommand_RequestMedia(NetworkPacket *pkt)
Definition serverpackethandler.cpp:330
std::string *const m_shutdown_errmsg
Definition server.h:755
s32 m_playing_sounds_id_last_used
Definition server.h:790
u32 m_csm_restriction_noderange
Definition server.h:798
u32 hudAdd(RemotePlayer *player, std::unique_ptr< HudElement > element)
Definition server.cpp:3533
static u16 getProtocolVersionMin()
Definition server.cpp:4525
void SendBlocks(float dtime)
Definition server.cpp:2572
void handleCommand_UpdateClientInfo(NetworkPacket *pkt)
Definition serverpackethandler.cpp:1784
void Receive(float min_time)
Receive and process all incoming packets.
Definition server.cpp:1126
void notifyPlayers(const std::wstring &msg)
Definition server.cpp:3704
std::unordered_map< std::pair< v3s16, u16 >, std::string, SBCHash > SerializedBlockCache
Definition server.h:529
bool hudSetHotbarItemcount(RemotePlayer *player, s32 hotbar_itemcount)
Definition server.cpp:3586
void SendNodeDef(session_t peer_id, const NodeDefManager *nodedef, u16 protocol_version)
Definition server.cpp:1551
StepSettings getStepSettings()
Definition server.h:361
void SendBreath(session_t peer_id, u16 breath)
Definition server.cpp:1508
std::shared_ptr< con::IConnection > m_con
Definition server.h:701
void setLocalPlayerAnimations(RemotePlayer *player, v2f animation_frames[4], f32 frame_speed)
Definition server.cpp:3633
void setClouds(RemotePlayer *player, const CloudParams ¶ms)
Definition server.cpp:3682
void HandlePlayerHPChange(PlayerSAO *sao, const PlayerHPChangeReason &reason)
Definition server.cpp:1484
float m_emergethread_trigger_timer
Definition server.h:692
ModIPCStore m_ipcstore
Definition server.h:726
std::string m_path_mod_data
Definition server.h:671
void sendMediaAnnouncement(session_t peer_id, const std::string &lang_code)
Definition server.cpp:2760
void SendMinimapModes(session_t peer_id, std::vector< MinimapMode > &modes, size_t wanted_mode)
Definition server.cpp:2985
ServerEnvironment * m_env
Definition server.h:698
void fillMediaCache()
Definition server.cpp:2725
bool m_simple_singleplayer_mode
Definition server.h:676
std::unordered_map< std::string, Translations > server_translations
Definition server.h:724
void SendCamera(session_t peer_id, Player *player)
Definition server.cpp:2060
ChatInterface * m_admin_chat
Definition server.h:750
NodeDefManager * m_nodedef
Definition server.h:716
bool hudChange(RemotePlayer *player, u32 id, HudElementStat stat, void *value)
Definition server.cpp:3556
void SendPlayerFov(session_t peer_id)
Definition server.cpp:2122
Definition settings.h:121
Definition translation.h:19
Definition connection.h:47
Definition connection.h:34
Definition peerhandler.h:13
ClientState
Definition clientiface.h:164
@ CS_Active
Definition clientiface.h:173
#define BS
Definition constants.h:61
HudElementStat
Definition hud_element.h:59
MinimapType
Definition hud_element.h:110
@ MINIMAP_TYPE_OFF
Definition hud_element.h:111
core::vector2d< f32 > v2f
Definition irr_v2d.h:11
core::vector3d< s16 > v3s16
Definition irr_v3d.h:13
core::vector3df v3f
Definition irr_v3d.h:11
std::shared_ptr< MetricCounter > MetricCounterPtr
Definition metricsbackend.h:22
std::shared_ptr< MetricGauge > MetricGaugePtr
Definition metricsbackend.h:36
Definition activeobjectmgr.cpp:11
rtt_stat_type
Definition connection.h:16
Definition activeobjectmgr.cpp:11
AccessDeniedCode
Definition networkprotocol.h:941
@ CSM_RF_NONE
Definition networkprotocol.h:966
u16 session_t
Definition networkprotocol.h:27
void dedicated_server_loop(Server &server, volatile std::sig_atomic_t &kill)
Definition server.cpp:4245
ClientDeletionReason
Definition server.h:92
@ CDR_LEAVE
Definition server.h:93
@ CDR_DENY
Definition server.h:95
@ CDR_TIMEOUT
Definition server.h:94
@ AC_INTERACTION
Definition server.h:81
@ AC_MOVEMENT
Definition server.h:82
@ AC_DIGGING
Definition server.h:80
constexpr static const FlagDesc flagdesc_anticheat[]
Definition server.h:85
SoundLocation
Definition sound_spec.h:47
@ Local
Definition sound_spec.h:48
Definition chat_interface.h:48
Definition chat_interface.h:60
Definition chatmessage.h:20
Definition clientdynamicinfo.h:12
u32 uptime
Definition server.h:151
u8 ser_vers
Definition server.h:152
u8 patch
Definition server.h:154
u16 prot_vers
Definition server.h:153
ClientState state
Definition server.h:149
std::string vers_string
Definition server.h:155
Address addr
Definition server.h:150
std::string lang_code
Definition server.h:155
u8 major
Definition server.h:154
u8 minor
Definition server.h:154
Definition skyparams.h:72
Definition gameparams.h:14
Definition hud_element.h:85
Describes ambient light settings for a player.
Definition lighting.h:46
u16 size
Definition server.h:142
MinimapType type
Definition server.h:140
std::string texture
Definition server.h:143
std::string label
Definition server.h:141
u16 scale
Definition server.h:144
std::condition_variable_any condvar
Signalled on any changes to the map contents.
Definition server.h:165
std::shared_mutex mutex
RW lock for this entire structure.
Definition server.h:163
~ModIPCStore()
Definition server.cpp:87
std::unordered_map< std::string, std::unique_ptr< PackedValue > > map
Map storing the data.
Definition server.h:171
void signal()
Definition server.h:174
Definition skyparams.h:54
A packed value can be a primitive like a string or number but also a table including all of its conte...
Definition c_packer.h:72
Definition particles.h:295
Definition particles.h:306
Definition player_sao.h:235
Definition rollback_interface.h:40
std::string to_player
Definition server.h:129
float gain
Definition server.h:125
std::unordered_set< session_t > clients
Definition server.h:136
std::string exclude_player
Definition server.h:130
SoundSpec spec
Definition server.h:134
v3f pos
Definition server.h:127
float max_hear_distance
Definition server.h:126
v3f getPos(ServerEnvironment *env, bool *pos_exists) const
Definition server.cpp:175
SoundLocation type
Definition server.h:123
size_t operator()(const std::pair< v3s16, u16 > &p) const
Definition server.h:524
void trigger(float delay, const std::string &msg, bool reconnect)
Definition server.cpp:211
bool isTimerRunning() const
Definition server.h:511
friend class TestServerShutdownState
Definition server.h:501
void tick(float dtime, Server *server)
Definition server.cpp:218
void reset()
Definition server.cpp:203
bool is_requested
Definition server.h:503
bool should_reconnect
Definition server.h:504
float m_timer
Definition server.h:513
std::wstring getShutdownTimerMessage() const
Definition server.cpp:250
std::string message
Definition server.h:505
bool pause
Definition server.h:357
float steplen
Definition server.h:356
Definition skyparams.h:25
Describes the sound information for playback.
Definition sound_spec.h:18
Definition skyparams.h:62
Definition skyparams.h:44
static std::string p(std::string path)
Definition test_filesys.cpp:73