Commit Graph

53 Commits (sol2-server-rewrite)

Author SHA1 Message Date
David Cernat d4dbfdfdb6 Merge pull request #423 from TES3MP/0.6.3 while resolving conflicts
Conflicts:
	apps/openmw-mp/Networking.cpp
	apps/openmw-mp/Script/Functions/World.cpp
	apps/openmw-mp/Script/Functions/World.hpp
	apps/openmw-mp/processors/WorldProcessor.cpp
	apps/openmw-mp/processors/WorldProcessor.hpp
	apps/openmw-mp/processors/world/ProcessorContainer.hpp
	apps/openmw-mp/processors/world/ProcessorDoorState.hpp
	apps/openmw-mp/processors/world/ProcessorObjectDelete.hpp
	apps/openmw-mp/processors/world/ProcessorObjectLock.hpp
	apps/openmw-mp/processors/world/ProcessorObjectPlace.hpp
	apps/openmw-mp/processors/world/ProcessorObjectScale.hpp
	apps/openmw-mp/processors/world/ProcessorObjectSpawn.hpp
	apps/openmw-mp/processors/world/ProcessorObjectState.hpp
	apps/openmw-mp/processors/world/ProcessorObjectTrap.hpp
	apps/openmw/mwgui/container.cpp
	apps/openmw/mwmp/Networking.cpp
	apps/openmw/mwmp/ObjectList.cpp
	apps/openmw/mwmp/ObjectList.hpp
	apps/openmw/mwmp/processors/world/ProcessorContainer.hpp
	components/CMakeLists.txt
	components/openmw-mp/Base/BaseObject.hpp
	components/openmw-mp/Packets/Object/ObjectPacket.cpp
	components/openmw-mp/Packets/Object/PacketConsoleCommand.cpp
	components/openmw-mp/Packets/Object/PacketContainer.cpp
	components/openmw-mp/Packets/Object/PacketDoorState.hpp
	components/openmw-mp/Packets/Object/PacketMusicPlay.hpp
	components/openmw-mp/Packets/Object/PacketObjectAnimPlay.hpp
	components/openmw-mp/Packets/Object/PacketObjectLock.hpp
	components/openmw-mp/Packets/Object/PacketObjectMove.hpp
	components/openmw-mp/Packets/Object/PacketObjectPlace.hpp
	components/openmw-mp/Packets/Object/PacketObjectRotate.hpp
	components/openmw-mp/Packets/Object/PacketObjectScale.hpp
	components/openmw-mp/Packets/Object/PacketObjectSpawn.hpp
	components/openmw-mp/Packets/Object/PacketObjectState.hpp
	components/openmw-mp/Packets/Object/PacketObjectTrap.hpp
	components/openmw-mp/Packets/Object/PacketScriptGlobalShort.hpp
	components/openmw-mp/Packets/Object/PacketScriptLocalFloat.hpp
	components/openmw-mp/Packets/Object/PacketScriptLocalShort.hpp
	components/openmw-mp/Packets/Object/PacketScriptMemberShort.hpp
	components/openmw-mp/Packets/Object/PacketVideoPlay.hpp
7 years ago
David Cernat 78234f9071 [General] Rename Event into ObjectList & WorldObject into BaseObject 7 years ago
David Cernat 672bb707a7 Merge pull request #422 from TES3MP/0.6.3 while resolving conflicts
# Conflicts:
#   apps/openmw-mp/Networking.cpp
#   apps/openmw-mp/Networking.hpp
#   apps/openmw-mp/Script/Functions/World.cpp
#   apps/openmw-mp/processors/WorldProcessor.cpp
#   apps/openmw-mp/processors/WorldProcessor.hpp
#   apps/openmw-mp/processors/world/ProcessorContainer.hpp
#   apps/openmw-mp/processors/world/ProcessorDoorState.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectDelete.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectLock.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectPlace.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectScale.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectSpawn.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectState.hpp
#   apps/openmw-mp/processors/world/ProcessorObjectTrap.hpp
#   apps/openmw/mwmp/Networking.cpp
#   components/CMakeLists.txt
#   components/openmw-mp/Controllers/ObjectPacketController.hpp
#   components/openmw-mp/Controllers/WorldPacketController.cpp
#   components/openmw-mp/Packets/Object/ObjectPacket.cpp
#   components/openmw-mp/Packets/Object/ObjectPacket.hpp
#   components/openmw-mp/Packets/Object/PacketConsoleCommand.hpp
#   components/openmw-mp/Packets/Object/PacketContainer.hpp
#   components/openmw-mp/Packets/Object/PacketDoorState.hpp
#   components/openmw-mp/Packets/Object/PacketMusicPlay.hpp
#   components/openmw-mp/Packets/Object/PacketObjectAnimPlay.hpp
#   components/openmw-mp/Packets/Object/PacketObjectDelete.hpp
#   components/openmw-mp/Packets/Object/PacketObjectLock.hpp
#   components/openmw-mp/Packets/Object/PacketObjectMove.hpp
#   components/openmw-mp/Packets/Object/PacketObjectPlace.hpp
#   components/openmw-mp/Packets/Object/PacketObjectRotate.hpp
#   components/openmw-mp/Packets/Object/PacketObjectScale.hpp
#   components/openmw-mp/Packets/Object/PacketObjectSpawn.hpp
#   components/openmw-mp/Packets/Object/PacketObjectState.hpp
#   components/openmw-mp/Packets/Object/PacketObjectTrap.hpp
#   components/openmw-mp/Packets/Object/PacketScriptGlobalShort.hpp
#   components/openmw-mp/Packets/Object/PacketScriptLocalFloat.hpp
#   components/openmw-mp/Packets/Object/PacketScriptLocalShort.hpp
#   components/openmw-mp/Packets/Object/PacketScriptMemberShort.hpp
#   components/openmw-mp/Packets/Object/PacketVideoPlay.hpp
7 years ago
David Cernat 6bf3a0be1e [General] Rename WorldPackets into ObjectPackets for clarity 7 years ago
Koncord 122a30c183 [General] Change type of refNumIndex & mpNum to unsigned 7 years ago
Koncord f35d35741e [General] Remove redundant code
Remove BaseEvent::worldObjectCount
Remove BaseActor::count
Use foreach loops in packets and processors
Remove redundant "&" in CellController::get().getCell() calls
7 years ago
Koncord 585c24cee8 [Server] Optimize CellController 7 years ago
Koncord aa183e6844 [General] Introduce chat channels 7 years ago
David Cernat 07d75abdf8 [Server] Use consistent order for includes 7 years ago
David Cernat fe9a3088bd Merge pull request #312 from TES3MP/master
Add master commits up to 10 Oct 2017
7 years ago
David Cernat f532ab241d [Server] Avoid duplicates of the same player in a cell's loaders 7 years ago
Koncord 2d0840cb3a [General] Modernize Script API
This commit changes the style of tes3mp serverside scripting mods. Short list of changes:
* Break compatibility with old server mods
* OOP style lua API
* Basic dependency checker, allowing the installation of multiple server mods without changing configs
* Remove support for C++ plugins
* Change outdated LuaBridge to [sol2](https://github.com/ThePhD/sol2);
* Support GCC, Clang and MSVC compilers
* New environment variables: "TES3MP_SERVER_DIR" and "TES3MP_SERVER_USERDIR";
* New entity "Command controller" for registering new chat commands;
* New Event system
* Simplified Timer API
* All Lua mods now run in their own environments
* Add global namespace - Data that can be used for communicating between mods
* Player and Actor inherit base class NetActor
7 years ago
David Cernat 3c30801eac [Server] Try to fix server crash from iterations through invalid players 8 years ago
David Cernat 06f3c07116 [Server] Only read Actor packets from players who are still authorities 8 years ago
David Cernat 377aa9b6c9 [Server] Refresh cellActorList's count after removing Actors from it 8 years ago
David Cernat 83ba4b62b1 [Server] Remove Actors from a Cell's ActorList when they change cells 8 years ago
David Cernat fafed96bf4 [Server] Store data from ActorPosition in the ActorLists of Cells 8 years ago
David Cernat 62d93a09c1 [Server] Add new script callbacks for cells, remove a couple of others
OnPlayerCellState and OnActorStatsDynamic are now removed as callbacks.

The old OnCellUnload is now renamed into OnCellDeletion.

OnCellLoad and a new OnCellUnload relating to a specific player's load/unload are added.
8 years ago
David Cernat a73cbac226 [Server] Store a BaseActorList in every Cell to keep track of Actor data 8 years ago
David Cernat 234510a87f [Server] Split off Cell and CellController into two different files 8 years ago
David Cernat c52084a028 [General] Use BaseActorLists in ActorPackets 8 years ago
David Cernat 070c6a3bd4 [General] Add ActorPacketController & make controller var names clearer 8 years ago
David Cernat c6c0e4acc9 [Server] Fix Cell::sendToLoaded() part 2, and fix Player::sendToLoaded() 8 years ago
David Cernat 8616323bae [Server] Fix logic in Cell::sendToLoaded() 8 years ago
Koncord 690211ad99 [General] Extract BaseEvent & BasePlayer from packets to functions
Move Send and Read functions to BasePacket
8 years ago
Koncord cea1425db1 [Client] Remove redundant newlines & keep ~120 columns 8 years ago
Koncord 0442ebd607 [Server] Remove redundant newlines & keep ~120 columns 8 years ago
David Cernat deb10919ab [Server] Delete cells that become empty when a player disconnects 8 years ago
David Cernat 048ddf6a34 [Server] Use LOG_APPEND for older debug messages in Cell 8 years ago
David Cernat 7f51ca5298 [Server] Add permanent debug to Cell and CellController 8 years ago
David Cernat 2fd279a5ef [Server] Remove debug message 8 years ago
David Cernat 4a5b8c927f [Server] Add an extra check to Cell::sendToLoaded to be on the safe side 8 years ago
Koncord 45d081ba42 [Server] Compare new cells with loaded cells correctly 8 years ago
Koncord 3adbf17545 [Server] Fix memory leak in CellController 8 years ago
Koncord b33e604a61 [Server] Set sendToLoaded function as constant
Add assertions for CellController singleton
8 years ago
Koncord 443c0ed309 [Server] Fix Cell iterators 8 years ago
Koncord a75da18f31 [Server] Fix argument in log message 8 years ago
Koncord ec4d016100 [Server] Don't crash server every time a player disconnects. Again. 8 years ago
Koncord ee494887e1 [Server] Fix log message 8 years ago
David Cernat b829f0252a [Server] Don't crash server every time a player disconnects 8 years ago
David Cernat 24251cafd0 [Server] Send large ID_CONTAINER packets on a need-to-know basis 8 years ago
David Cernat 791089d342 [Server] Add Cell::sendToLoaded() for sending events to loaded players 8 years ago
David Cernat eb0744aa77 [Server] Add CellController:getCell() for getting Cell through ESM::Cell 8 years ago
David Cernat ee1ba1728e [Server] Rename getCellByID() into getCellByName() to avoid confusion 8 years ago
David Cernat 275dfaf05f [Server] Add Cell::getDescription() for debugging purposes 8 years ago
David Cernat 887b436ee7 [Server] Make style for new methods consistent with rest of project 8 years ago
Koncord fd36ec7613 [Server] Iterate cells where player was loaded instead all 8 years ago
Koncord 67099e437a [Server] Remove player from Cells when disconnected 8 years ago
Koncord 465d0fe4b4 [Server] Fix log messages in CellController 8 years ago
Koncord 931ecd5acb [Server] Imrpove debug info in CellController 8 years ago