Skip to content

Commit

Permalink
Make the server status message customizable (#7357)
Browse files Browse the repository at this point in the history
Remove now redundant setting show_statusline_on_connect
Improve documentation of `minetest.get_server_status`
  • Loading branch information
SmallJoker committed Jul 1, 2018
1 parent 7d20ff4 commit 6f22d14
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 15 deletions.
6 changes: 5 additions & 1 deletion builtin/game/chatcommands.lua
Expand Up @@ -799,7 +799,11 @@ core.register_chatcommand("rollback", {
core.register_chatcommand("status", {
description = "Show server status",
func = function(name, param)
return true, core.get_server_status()
local status = core.get_server_status(name, false)
if status and status ~= "" then
return true, status
end
return false, "This command was disabled by a mod or game"
end,
})

Expand Down
6 changes: 6 additions & 0 deletions builtin/game/misc.lua
Expand Up @@ -62,6 +62,12 @@ end
core.register_on_joinplayer(function(player)
local player_name = player:get_player_name()
player_list[player_name] = player
if not minetest.is_singleplayer() then
local status = core.get_server_status(player_name, true)
if status and status ~= "" then
core.chat_send_player(player_name, status)
end
end
core.send_join_message(player_name)
end)

Expand Down
3 changes: 0 additions & 3 deletions builtin/settingtypes.txt
Expand Up @@ -950,9 +950,6 @@ map-dir (Map directory) path
# Setting it to -1 disables the feature.
item_entity_ttl (Item entity TTL) int 900

# If enabled, show the server status message on player connection.
show_statusline_on_connect (Status message on connection) bool true

# Enable players getting damage and dying.
enable_damage (Damage) bool false

Expand Down
8 changes: 7 additions & 1 deletion doc/lua_api.txt
Expand Up @@ -3997,7 +3997,13 @@ These functions return the leftover itemstack.
Negative delay cancels the current active shutdown.
Zero delay triggers an immediate shutdown.
* `minetest.cancel_shutdown_requests()`: cancel current delayed shutdown
* `minetest.get_server_status()`: returns server status string
* `minetest.get_server_status(name, joined)`
* Returns the server status string when a player joins or when the command
`/status` is called. Returns `nil` or an empty string when the message is
disabled.
* `joined`: Boolean value, indicates whether the function was called when
a player joined.
* This function may be overwritten by mods to customize the status message.
* `minetest.get_server_uptime()`: returns the server uptime in seconds
* `minetest.remove_player(name)`: remove player from database (if they are not
connected).
Expand Down
4 changes: 0 additions & 4 deletions minetest.conf.example
Expand Up @@ -1142,10 +1142,6 @@
# type: int
# item_entity_ttl = 900

# If enabled, show the server status message on player connection.
# type: bool
# show_statusline_on_connect = true

# Enable players getting damage and dying.
# type: bool
# enable_damage = false
Expand Down
1 change: 0 additions & 1 deletion src/defaultsettings.cpp
Expand Up @@ -305,7 +305,6 @@ void set_default_settings(Settings *settings)
settings->setDefault("motd", "");
settings->setDefault("max_users", "15");
settings->setDefault("creative_mode", "false");
settings->setDefault("show_statusline_on_connect", "true");
settings->setDefault("enable_damage", "true");
settings->setDefault("default_password", "");
settings->setDefault("default_privs", "interact, shout");
Expand Down
5 changes: 0 additions & 5 deletions src/server.cpp
Expand Up @@ -1059,11 +1059,6 @@ PlayerSAO* Server::StageTwoClientInit(session_t peer_id)
// Send Breath
SendPlayerBreath(playersao);

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

0 comments on commit 6f22d14

Please sign in to comment.