From 79f19b8369a0120fbf0bd0ee3739989fbbbca50e Mon Sep 17 00:00:00 2001 From: Loïc Blot Date: Tue, 18 Jul 2017 21:39:55 +0200 Subject: [CSM] Add flavour limits controlled by server (#5930) * [CSM] Add flavour limits controlled by server Server send flavour limits to client permitting to disable or limit some Lua calls * Add limits for reading nodedefs and itemdefs * flavour: Add lookup node limits * Merge get_node_or_nil into get_node. Sending fake node doesn't make sense in CSM, just return nil if node is not available for any reason * Add node range customization when noderange flavour is enabled (default 8 nodes) * Limit nodes range & disable chat message sending by default * Bump protocol version --- builtin/settingtypes.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'builtin') diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index c710afdcf..60508d0dd 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -960,6 +960,19 @@ block_send_optimize_distance (block send optimize distance) int 4 2 # so that the utility of noclip mode is reduced. server_side_occlusion_culling (Server side occlusion culling) bool true +# Restricts the access of certain client-side functions on servers +# Combine these byteflags below to restrict more client-side features: +# LOOKUP_NODES_LIMIT: 1 (limits get_node call client-side to csm_flavour_noderange_limit) +# CHAT_MESSAGES: 2 (disable send_chat_message call client-side) +# READ_ITEMDEFS: 4 (disable get_item_def call client-side) +# READ_NODEDEFS: 8 (disable get_node_def call client-side) +# type: int +csm_flavour_limits (Client side modding flavour limits) int 3 + +# If the CSM flavour for node range is enabled, get_node is limited to +# this many nodes from the player. +csm_flavour_noderange_limit (Client side noderange flavour limit) int 8 + [*Mapgen] # Name of map generator to be used when creating a new world. -- cgit v1.2.3