Skip to content

Commit 6f22d14

Browse files
authoredJul 1, 2018
Make the server status message customizable (#7357)
Remove now redundant setting show_statusline_on_connect Improve documentation of `minetest.get_server_status`
1 parent 7d20ff4 commit 6f22d14

File tree

7 files changed

+18
-15
lines changed

7 files changed

+18
-15
lines changed
 

Diff for: ‎builtin/game/chatcommands.lua

+5-1
Original file line numberDiff line numberDiff line change
@@ -799,7 +799,11 @@ core.register_chatcommand("rollback", {
799799
core.register_chatcommand("status", {
800800
description = "Show server status",
801801
func = function(name, param)
802-
return true, core.get_server_status()
802+
local status = core.get_server_status(name, false)
803+
if status and status ~= "" then
804+
return true, status
805+
end
806+
return false, "This command was disabled by a mod or game"
803807
end,
804808
})
805809

Diff for: ‎builtin/game/misc.lua

+6
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,12 @@ end
6262
core.register_on_joinplayer(function(player)
6363
local player_name = player:get_player_name()
6464
player_list[player_name] = player
65+
if not minetest.is_singleplayer() then
66+
local status = core.get_server_status(player_name, true)
67+
if status and status ~= "" then
68+
core.chat_send_player(player_name, status)
69+
end
70+
end
6571
core.send_join_message(player_name)
6672
end)
6773

Diff for: ‎builtin/settingtypes.txt

-3
Original file line numberDiff line numberDiff line change
@@ -950,9 +950,6 @@ map-dir (Map directory) path
950950
# Setting it to -1 disables the feature.
951951
item_entity_ttl (Item entity TTL) int 900
952952

953-
# If enabled, show the server status message on player connection.
954-
show_statusline_on_connect (Status message on connection) bool true
955-
956953
# Enable players getting damage and dying.
957954
enable_damage (Damage) bool false
958955

Diff for: ‎doc/lua_api.txt

+7-1
Original file line numberDiff line numberDiff line change
@@ -3997,7 +3997,13 @@ These functions return the leftover itemstack.
39973997
Negative delay cancels the current active shutdown.
39983998
Zero delay triggers an immediate shutdown.
39993999
* `minetest.cancel_shutdown_requests()`: cancel current delayed shutdown
4000-
* `minetest.get_server_status()`: returns server status string
4000+
* `minetest.get_server_status(name, joined)`
4001+
* Returns the server status string when a player joins or when the command
4002+
`/status` is called. Returns `nil` or an empty string when the message is
4003+
disabled.
4004+
* `joined`: Boolean value, indicates whether the function was called when
4005+
a player joined.
4006+
* This function may be overwritten by mods to customize the status message.
40014007
* `minetest.get_server_uptime()`: returns the server uptime in seconds
40024008
* `minetest.remove_player(name)`: remove player from database (if they are not
40034009
connected).

Diff for: ‎minetest.conf.example

-4
Original file line numberDiff line numberDiff line change
@@ -1142,10 +1142,6 @@
11421142
# type: int
11431143
# item_entity_ttl = 900
11441144

1145-
# If enabled, show the server status message on player connection.
1146-
# type: bool
1147-
# show_statusline_on_connect = true
1148-
11491145
# Enable players getting damage and dying.
11501146
# type: bool
11511147
# enable_damage = false

Diff for: ‎src/defaultsettings.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,6 @@ void set_default_settings(Settings *settings)
305305
settings->setDefault("motd", "");
306306
settings->setDefault("max_users", "15");
307307
settings->setDefault("creative_mode", "false");
308-
settings->setDefault("show_statusline_on_connect", "true");
309308
settings->setDefault("enable_damage", "true");
310309
settings->setDefault("default_password", "");
311310
settings->setDefault("default_privs", "interact, shout");

Diff for: ‎src/server.cpp

-5
Original file line numberDiff line numberDiff line change
@@ -1059,11 +1059,6 @@ PlayerSAO* Server::StageTwoClientInit(session_t peer_id)
10591059
// Send Breath
10601060
SendPlayerBreath(playersao);
10611061

1062-
// Note things in chat if not in simple singleplayer mode
1063-
if (!m_simple_singleplayer_mode && g_settings->getBool("show_statusline_on_connect")) {
1064-
// Send information about server to player in chat
1065-
SendChatMessage(peer_id, ChatMessage(CHATMESSAGE_TYPE_SYSTEM, getStatusString()));
1066-
}
10671062
Address addr = getPeerAddress(player->getPeerId());
10681063
std::string ip_str = addr.serializeString();
10691064
actionstream<<player->getName() <<" [" << ip_str << "] joins game. " << std::endl;

0 commit comments

Comments
 (0)