Commit Graph

54 Commits

Author SHA1 Message Date
rubenwardy
096ea031de Add on_grant and on_revoke callbacks (#4713)
* Add register_on_priv_grant/revoke, and on_grant/revoke to privs. Call from /grant and /revoke

* Call on_grant and on_revoke callbacks from set_privs
2017-08-26 08:17:05 +02:00
Ezhh
2ab09bb486 Improve chatcommand params consistency (#5985)
* Fix and improve params consistency

* Move parenthesis requirement to descriptions
2017-06-15 22:38:41 +02:00
Wuzzy
80fe516e4e Remove “inf” argument from shutdown command help (#5880) 2017-06-02 17:16:30 +02:00
Elijah Duffy
dada983ff4 Add /clearinv chat command (#4994)
Allow players to clear their own inventory or that of another player with /clearinv command. server privilege is required to clear another player's inventory, no privileges are required to clear your own inventory.'
2017-05-20 12:56:17 +02:00
ShadowNinja
43d1f375d1 Use a settings object for the main settings
This unifies the settings APIs.

This also unifies the sync and async registration APIs, since the async
registration API did not support adding non-functions to the API table.
2017-05-06 15:33:19 -04:00
Loïc Blot
29ab20c272 Player data to Database (#5475)
* Player data to Database

Add player data into databases (SQLite3 & PG only)

PostgreSQL & SQLite: better POO Design for databases

Add --migrate-players argument to server + deprecation warning

* Remove players directory if empty
2017-04-23 14:35:08 +02:00
Dániel Juhász
f6d1b682d3 Add /fixlight chat command 2017-04-22 01:24:41 +01:00
Loïc Blot
34d32ce55a Implement delayed server shutdown with cancelation (#4664) 2017-04-15 23:19:18 +02:00
red-001
d4e9dd4643 Move chat command handling code from C++ to Lua (#5528) 2017-04-08 20:03:57 +02:00
paramat
ec0c4d33db Map generation limit: Make per-world
The setting limits map generation but affects nothing else.
Add 'mapgen_limit' to global mapgen parameters.
Move 'blockpos_over_mapgen_limit()' to the only place it is called
from: map.cpp.
Allow teleportation to any part of the world even if over the set
mapgen limit.
Simplify the reading of this limit in mgvalleys.
Remove the 'map_generation_limit' setting.
2017-03-27 03:18:09 +01:00
red-001
e70e15134c Change command prefix to "." and add "help" command. 2017-03-26 05:51:14 +01:00
red-001
d7bc346981 [CSM] Add client-sided chat commands (#5092) 2017-03-13 23:56:05 +01:00
red-001
4d634ef675 Fix crash that can be caused by the shutdown command. (#5292) 2017-02-25 09:28:25 +01:00
red-001
3d25914986 Add support for the new arguments of request_shutdown to the /shutdown chatcommand. (#5252) 2017-02-18 12:16:11 +01:00
Elijah Duffy
efa54f9c46 Add chatcommand unregister and override API (#5076)
Introduces two functions to unregister and override chatcommands.
minetest.unregister_chatcommand("<name>") and
minetest.override_chatcommand("<name>", {<redifinition>})
2017-01-20 19:49:20 +01:00
Ezhh
d218baa3ac Improve priv descriptions (#5047) 2017-01-17 15:41:25 +01:00
rubenwardy
e8b7179ccd Expose and document chatcommands as minetest.registered_chatcommands 2017-01-04 20:56:07 +00:00
Dorian Wouters
a1346c916e Fix /grant & /revoke not working with custom auth handler (#4974)
core.auth_table is not supposed to be accessed directly.
2016-12-31 18:12:26 +01:00
red-001
c7d569b863 Chat commands: Trim whitespaces from input of /privs command 2016-10-20 03:39:03 +01:00
red-001
c31e354342 Builtin/../chatcommands: Add /grantme command 2016-10-16 01:13:50 +01:00
Tim
d7060c212f Builtin/profiler: Replace game profiler (#4245)
Use the setting "profiler.load" to enable profiling.
Other settings can be found in settingtypes.txt.

* /profiler print [filter] - report statistics to in-game console
* /profiler dump [filter] - report statistics to STDOUT and debug.txt
* /profiler save [format [filter]] - saves statistics to a file in your worldpath
	* txt (default) - same treetable format as used by the dump and print commands
	* csv - ready for spreadsheet import
	* json - useful for adhoc D3 visualizations
	* json_pretty - line wrapped and intended json for humans
	* lua - serialized lua table of the profile-data, for adhoc scripts
* /profiler reset - reset all gathered profile data.
	This can be helpful to discard of any startup measurements that often spike during loading or to get more useful min-values.

[filter] allows limiting the output of the data via substring/pattern matching against the modname.

Note: Serialized data structures might be subject to change with changed or added measurements.
	csv might be the most stable, due to flat structure.

Changes to the previous version include:

* Updated and extended API monitoring
* Correct calculation of average (mean) values (undistorted by idleness)
* Reduce instrumentation overhead.
* Fix crashes related to missing parameters for the future and occasional DIV/0's.
* Prevent issues caused by timetravel (overflow, timejump, NTP corrections)
* Prevent modname clashes with internal names.
* Measure each instrumentation individually and label based on registration order.
* Labeling of ABM's and LBM's for easier classification.
  Giving several ABM's or LBM's the same label will treat them as one.
  Missing labels will be autogenerated based on name or registration order.
* Configurable instrumentation and reporting. Skip e.g. builtin if you don't need it.
* Profile the profiler to measure instrumentation overhead.
2016-07-12 21:51:10 +02:00
Ekdohibs
14ef2b445a Add colored text (not only colored chat).
Add documentation, move files to a proper place and avoid memory leaks.
Make it work with most kind of texts, and allow backgrounds too.
2016-05-31 17:34:29 +02:00
TriBlade9
1d40385d4a Colored chat working as expected for both freetype and non-freetype builds. @nerzhul improvements * Add unit tests * Fix coding style * move guiChatConsole.hpp to client/ 2016-05-31 17:34:29 +02:00
tenplus1
7baddd1735 Avoid teleporting player if /teleport coords are out-of-range 2016-04-29 00:00:35 +10:00
rubenwardy
17bfe2fe5b Builtin: Add basic_privs setting 2016-04-28 07:19:07 +01:00
Auke Kok
2f640888d8 Make options local here.
Undoubtably this may cause problems later if unchecked.

```
2016-03-22 21:57:52: WARNING[Server]: Assignment to undeclared global "options" inside a function at .../sofar/git/minetest/bin/../builtin/game/chatcommands.lua:862.
```
2016-03-24 16:52:26 +01:00
Auke Kok
4e59fcf5c1 Add consistent monotonic day counter - get_day_count()
I've written several experimental bits of code that revolve around the
need for a consistent calendar, but implementing one is extremely hard
in mods due to time changes and mods overriding core.get_timeofday(),
which will conflict.

The second part of the problem is that doing this from a mod requires
constant maintenance of a settings file.

An implementation in core is trivial, however, and solves all of
these problems at virtually no cost: No extra branches in server
steps, and a single branch when minetest.set_time_of_day(), which is
entirely reasonable.

We store the day_count value in env_meta.txt.

The use case is obvious: This change allows mods to create an actual
virtual calendar, or properly account for seasonal changes, etc..

We add a "/days" chatcommand that displays the current day count. No
permissions are needed. It can only retrieve the day count, not
modify it.
2016-03-09 01:45:23 +01:00
Rui914
24e8b0ac1e Faster insertion into table 2016-03-06 23:42:04 +00:00
Kahrl
0f03547b03 Log /clearobjects mode 2016-02-11 04:22:58 +00:00
Kahrl
b1428ab4bb Add '/clearobjects quick' 2016-02-11 04:22:58 +00:00
Splizard
0e75eb4324 Add admin command which says who the administator is for the server. 2016-02-04 13:23:02 +01:00
kwolekr
c2b5da735e Add callback parameter for core.emerge_area() 2015-11-02 18:43:09 -05:00
Rui914
482c4d69b0 minetest. to core. 2015-10-31 02:28:06 +01:00
kwolekr
f062bbd7a1 Add /emergeblocks command and core.emerge_area() Lua API 2015-09-23 15:56:24 -04:00
kwolekr
2b04ab874d SAPI: Track last executed mod and include in error messages 2015-08-12 23:56:12 -04:00
Marcin
c5c609ce3d Add ability to specify coordinates for /spawnentity 2015-07-18 08:35:36 +02:00
Craig Davison
ecdfbfc8dc Remove reference to deprecated privilege 2015-06-14 23:53:30 +02:00
est31
b8a8be9c86 Nicer time setting logging
Now logs

ACTION[ServerThread]: player sets time to 6:03

instead of

ACTION[ServerThread]: player sets time to 6:3
2015-06-02 06:49:05 +02:00
LeMagnesium
f26421228b Added hour:minute format to time command
* The time command now accepts parameters in the form <hour>:<minute>,
    and if invoked with no parameters returns the current time in said format.
2015-05-16 18:15:34 -04:00
est31
fedbbc8883 Add reason to kicked log message and use present tense 2015-04-05 04:18:47 +02:00
SmallJoker
bbed01ab62 Radius parameter for /deleteblocks here 2015-03-05 00:10:53 +10:00
est31
1a175c6982 Add /setpassword and /clearpassword logging 2015-02-27 23:00:28 +01:00
Loic Blot
27d4e89d32 Fix unused (and so, broken) enable_rollback_recording. This option must be reloaded at server loop but loaded when server starts, for data consistency (not a hot load variable)
ok @ShadowNinja
2015-02-18 09:28:39 +01:00
kwolekr
a8ec7876a6 Prevent null concatenation when /deleteblocks is provided an incorrect format 2015-01-27 22:36:53 -05:00
kwolekr
5aeeb219e3 Simplify deleteblocks chat command argument parsing
Add optional core.pos_to_string decimal place rounding
Move core.string_to_pos to builtin/common/misc_helpers.lua for consistency
2015-01-15 18:05:13 -05:00
kwolekr
9736548720 Add ability to delete MapBlocks from map
Also add a Lua API and chatcommand for this
2015-01-15 16:48:56 -05:00
Craig Davison
dbae8a8854 Fix some undeclared global variables 2014-11-26 22:50:08 +10:00
Ryan Newell
90b6de173e Add last_login field to auth.txt
Also shortens some related code and adds more parameters to string.split.
2014-11-08 12:49:50 -05:00
LeMagnesium
b98e8d6da8 Add a better error message when trying to teleport another player without bring privileges 2014-10-07 16:52:52 -04:00
sapier
c24e0753fc Mod profiling support
Config settings:
profiling = true/false (gather statistics)
detailed_profiling = true/false (break mod times to callbacks)

Chat commands:
save_mod_profile saves current statistics in debug.txt and shows on console (on default loglevel)
2014-08-19 22:22:57 +02:00