aboutsummaryrefslogtreecommitdiff
path: root/src/serverenvironment.h
Commit message (Collapse)AuthorAge
* Immediately activate blocks when a player joinssfan52022-05-29
| | | | | | issue: #10884 This makes it possible for objects to immediately be activated, but doesn't guarantee it since blocks may still need be emerged.
* Add more Prometheus metrics (#12274)sfan52022-05-09
|
* Add min_y and max_y checks for Active Block Modifiers (ABM) (#11333)sfence2021-06-20
| | | This check can be used by ABM to reduce CPU usage.
* Add core.compare_block_status function (#11247)SmallJoker2021-05-30
| | | Makes it possible to check the status of the mapblock in a future-extensible way.
* Remove dead code (#10845)rubenwardy2021-01-22
|
* Add minetest.get_objects_in_area (#10668)Elias Fleckenstein2020-12-29
|
* Add minetest.get_artificial_light and minetest.get_natural_light (#5680)HybridDog2020-10-06
| | | | | Add more detailed light detection functions, a function to get the artificial light (torches) and a function to get the sunlight as seen by the player (you can specify timeofday). Co-authored-by: rubenwardy <rw@rubenwardy.com>
* Revert "Verify database connection on interval (#9665)"rubenwardy2020-07-07
| | | | | | Fixes #10113 This reverts commit 5c588f89e79e02cba392abe3d00688772321f88b.
* Value copy / allocation optimizations mostly in server, SAO and serialize codesfan52020-05-27
|
* Fix Server triggering wrong errors if environment init failssfan52020-05-07
|
* Optimize get_objects_inside_radius calls (#9671)Loïc Blot2020-04-16
| | | | | | | | | * Optimize getObjectsInsideRadius calls our previous implementation calls the ActiveObjectMgr to return ids and then lookup those ids in the same map and test each object Instead now we call the global map to return the pointers directly and we ask filtering when building the list using lamba. This drop double looping over ranges of active objects (and then filtered one) and drop x lookups on the map regarding the first call results
* Verify database connection on interval (#9665)Loïc Blot2020-04-15
|
* Drop content_sao.{cpp,h}Loic Blot2020-04-11
| | | | | | | Move LuaEntitySAO to a new dedicated file Drop TestSAO (useless object) Drop the old static startup initialized SAO factory, which was pretty useless. This factory was using a std::map for 2 elements, now just use a simple condition owned by ServerEnvironment, which will be lightweight, that will also drop a one time useful test on each LuaEntitySAO creation. This should reduce server load on massive SAO creation
* scriptapi: Sort out ServerEnvironment / Environment distinction properlysfan52020-04-11
| | | | | | The API implementation is shared between CSM and SSM. Functions should retrieve a plain env when they do not need any server-specific functions.
* Move core.get_connected_players() implementation to C++sfan52020-02-23
| | | | | Keeping the ObjectRefs around in a table isn't ideal and this allows removing the somewhat nonsensical is_player_connected() added in 86ef7147.
* Improve ABM time budget handling. #8645Lars Hofhansl2019-07-07
|
* Force player save before kicking on player shutdown (#8157)Loïc Blot2019-02-03
|
* Add an activeobject manager to hold active objects (#7939)Loïc Blot2018-12-13
| | | | * Add an activeobject manager to hold active objects * Add unittests
* Replace auth.txt with SQLite auth database (#7279)Ben Deutsch2018-08-05
| | | | * Replace auth.txt with SQLite auth database
* Revert 6587 - Optimize entity-entity collision (#7539)lhofhansl2018-07-08
|
* Optimize entity-entity collision (#6587)Vitaliy2018-04-03
| | | | | | * Add IrrLicht type aliases * Add hash for IrrLicht vector * Add object map
* ServerEnvironment::loadDefaultMeta: Loading default meta is only possible ↵Loic Blot2018-03-16
| | | | for ServerEnv itself
* VoxelArea: add_{x,y,z,p} must be staticLoic Blot2018-03-09
| | | | | Fix some documentations issues Use getNodeNoCheck(v3s16, ...) in some cases instead of getNodeNoCheck(x, y, z, ...)
* ServerEnvironment & StaticObject cleanupsLoic Blot2018-03-09
| | | | | | * isFreeServerActiveObjectId is now part of ServerEnvironment * getFreeServerActiveObjectId is now part of ServerEnvironment * StaticObject constructor now take ServerActiveObject instead of type + string. This permits to remove a big string copy in some code parts
* Revert "Add an active object step time budget #6721"Lars Hofhansl2018-01-12
| | | | | This reverts commit 9c669016d1578a5c62f932c6ccb7a2b4b1e21f0a. See #6907
* Line_of_sight: Improve using VoxelLineIteratorDániel Juhász2017-12-26
| | | | | This commit rewrites line_of_sight with VoxelLineIterator. Stepsize is no longer needed, the results will be always accurate.
* Add an active object step time budget #6721Lars Hofhansl2017-12-06
| | | | This can be set via the active_object_interval option.
* Optionally extend the active object in a players camera direction.Lars Hofhansl2017-12-03
| | | | | | | | | See #6667 By setting active_object_send_range_blocks > active_block_range a server admin can allow clients to retrieve active objects futher out from the player at relatively low cost to the server (only objects in the players' view cone are considered).
* Add session_t typedef + remove unused functions (#6470)Loïc Blot2017-09-27
| | | | | | * Add session_t typedef + remove unused functions u16 peer_id is used everywhere, to be more consistent and permit some evolutions on this type in the future (i'm working on a PoC), uniformize u16 peer_id to SessionId peer_id
* ServerEnv: Clean up object lifecycle handling (#6414)sfan52017-09-15
| | | | * ServerEnv: Clean up object lifecycle handling
* Make INodeDefManager::getIds return a vector, not a setKahrl2017-09-12
|
* Server: Calculate maximal total block sends dynamically (#6393)SmallJoker2017-09-09
| | | The block sends per client is 1/2 when reaching the maximal player count.
* Code modernization: src/p*, src/q*, src/r*, src/s* (partial) (#6282)Loïc Blot2017-08-19
| | | | | | | | | | | * Code modernization: src/p*, src/q*, src/r*, src/s* (partial) * empty function * default constructor/destructor * for range-based loops * use emplace_back instead of push_back * C++ STL header style * Spelling: vertice -> vertex
* Optimize headers (part 2) (#6272)Loïc Blot2017-08-18
| | | | | | | | | | | | | | * Optimize headers (part 2) * less debug.h in headers * less remoteplayer.h for everybody * Cleanup (part 2) * camera.h: mesh.h * mapgen.h: mapnode.h * serverenvironment.h: mapblock.h * nodedef.h: shader.h
* C++ modernize: Pragma once (#6264)Loïc Blot2017-08-17
| | | | * Migrate cpp headers to pragma once
* Cleanup various headers to reduce compilation times (#6255)Loïc Blot2017-08-16
| | | | * Cleanup various headers to reduce compilation times
* LBM content mapping map doesn't need to be ordered, use std::unordered_mapLoic Blot2017-07-18
| | | | Also rename helper to lbm_map instead of container_map
* Expose getPointedThing to LuaDániel Juhász2017-07-07
| | | | | | This commit introduces Raycast, a Lua user object, which can be used to perform a raycast on the map. The ray is continuable, so one can also get hidden nodes (for example to see trough glass).
* Cpp11 patchset 11: continue working on constructor style migration (#6004)Loïc Blot2017-06-18
|
* C++11 patchset 2: remove util/cpp11.h and util/cpp11_container.h (#5821)Loïc Blot2017-06-04
|
* Enhance ABM performance a little bit by removing two std::set copy (#5815)Loïc Blot2017-05-25
| | | | | | | | | | * Enhance ABM performance a little bit by removing two std::set copy * ActiveBlockModifier::getTriggerContents now returns a const ref * ActiveBlockModifier::getRequiredNeighbors now returns a const ref * ActiveBlockModifier::getRequiredNeighbors is now purely virtual * Little code style fix
* Player data to Database (#5475)Loïc Blot2017-04-23
| | | | | | | | | | | | * 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
* [CSM] Add core.get_timeofday & core.get_day_count env calls (#5401)Loïc Blot2017-03-17
| | | | | | * [CSM] Add core.get_timeofday & core.get_day_count env calls * [CSM] Add core.get_node_level, core.get_node_max_level, core.find_node_near
* [CSM] Client side moddingLoic Blot2017-03-13
| | | | | | | | | | * rename GameScripting to ServerScripting * Make getBuiltinLuaPath static serverside * Add on_shutdown callback * Add on_receiving_chat_message & on_sending_chat_message callbacks * ScriptApiBase: use IGameDef instead of Server This permits to share common attribute between client & server * Enable mod security in client side modding without conditions
* Cleanup some header inclusions to improve compilation timesLoic Blot2017-01-11
|
* Environment & IGameDef code refactoring (#4985)Ner'zhul2017-01-09
| | | | | | | | | | | | | | | | | | | | | * Environment code refactoring * Cleanup includes & class declarations in client & server environment to improve build speed * ServerEnvironment::m_gamedef is now a pointer to Server instead of IGameDef, permitting to cleanup many casts. * Cleanup IGameDef * Move ITextureSource* IGameDef::getTextureSource() to Client only. * Also move ITextureSource *IGameDef::tsrc() helper * drop getShaderSource, getSceneManager, getSoundManager & getCamera abstract call * drop unused emerge() call * cleanup server unused functions (mentionned before) * Drop one unused parameter from ContentFeatures::updateTextures * move checkLocalPrivilege to Client * Remove some unnecessary casts * create_formspec_menu: remove IWritableTextureSource pointer, as client already knows it * Fix some comments * Change required IGameDef to Server/Client pointers * Previous change that game.cpp sometimes calls functions with Client + InventoryManager + IGameDef in same functions but it's the same objects * Remove duplicate Client pointer in GUIFormSpecMenu::GUIFormSpecMenu * drop ClientMap::sectorWasDrawn which is unused
* Move ServerEnvironment to dedicated cpp/header filesLoic Blot2017-01-08
* also cleanup some unneeded inclusions