Commit Graph

234 Commits (sol2-server-rewrite)

Author SHA1 Message Date
David Cernat 524363702c Merge pull request #451 from TES3MP/0.6.3 while resolving conflicts
# Conflicts:
#	apps/openmw-mp/Networking.cpp
#	apps/openmw-mp/main.cpp
#	apps/openmw-mp/processors/object/ProcessorObjectDelete.hpp
7 years ago
David Cernat aa3639f2da
Merge pull request #450 from TES3MP/0.6.2
Add 0.6.2 commits up to 19 Jun 2018
7 years ago
David Cernat 29be79e852 [General] Switch RakNet enums to CrabNet enums
CrabNet is TES3MP's fork of RakNet that has deviated too far from RakNet to still be compatible with it.
7 years ago
David Cernat 49bf605e8e [Server] Create Worldstate class and implement associated table 7 years ago
David Cernat ad4214d3e2 Merge pull request #434 from TES3MP/0.6.3 while resolving conflicts
Conflicts:
	apps/openmw-mp/Networking.cpp
	apps/openmw/mwmp/processors/worldstate/ProcessorGameTime.hpp
	components/CMakeLists.txt
	components/openmw-mp/Base/BasePlayer.hpp
	components/openmw-mp/Packets/Worldstate/PacketGameTime.hpp
7 years ago
David Cernat e87e1dbb30 [General] Fix Worldstate packets by adding missing lines 7 years ago
David Cernat 8a393d2984 Merge pull request #430 from TES3MP/0.6.3 while resolving conflicts
# Conflicts:
#	apps/openmw-mp/Networking.cpp
#	apps/openmw-mp/Networking.hpp
#	components/CMakeLists.txt
7 years ago
David Cernat 43a944ddaf [General] Add and implement new Worldstate packet type 7 years ago
David Cernat b5922d18fd Merge pull request #428 from TES3MP/0.6.3 while resolving conflicts
# Conflicts:
#   apps/openmw-mp/Networking.cpp
#   apps/openmw-mp/Script/Functions/Objects.cpp
#   apps/openmw-mp/Script/Functions/Objects.hpp
#   apps/openmw-mp/processors/ObjectProcessor.cpp
#   apps/openmw-mp/processors/object/ProcessorContainer.hpp
#   apps/openmw-mp/processors/object/ProcessorDoorState.hpp
#   apps/openmw-mp/processors/object/ProcessorMusicPlay.hpp
#   apps/openmw-mp/processors/object/ProcessorObjectAnimPlay.hpp
#   apps/openmw-mp/processors/object/ProcessorObjectDelete.hpp
#   apps/openmw-mp/processors/object/ProcessorObjectLock.hpp
#   apps/openmw-mp/processors/object/ProcessorObjectMove.hpp
#   apps/openmw-mp/processors/object/ProcessorObjectPlace.hpp
#   apps/openmw-mp/processors/object/ProcessorObjectRotate.hpp
#   apps/openmw-mp/processors/object/ProcessorObjectScale.hpp
#   apps/openmw-mp/processors/object/ProcessorObjectSpawn.hpp
#   apps/openmw-mp/processors/object/ProcessorObjectState.hpp
#   apps/openmw-mp/processors/object/ProcessorObjectTrap.hpp
#   apps/openmw-mp/processors/object/ProcessorScriptGlobalFloat.hpp
#   apps/openmw-mp/processors/object/ProcessorScriptGlobalShort.hpp
#   apps/openmw-mp/processors/object/ProcessorScriptLocalFloat.hpp
#   apps/openmw-mp/processors/object/ProcessorScriptLocalShort.hpp
#   apps/openmw-mp/processors/object/ProcessorScriptMemberFloat.hpp
#   apps/openmw-mp/processors/object/ProcessorScriptMemberShort.hpp
#   apps/openmw-mp/processors/object/ProcessorVideoPlay.hpp
#   apps/openmw/mwmp/Networking.cpp
#   apps/openmw/mwmp/processors/object/BaseObjectProcessor.hpp
#   apps/openmw/mwmp/processors/object/ProcessorMusicPlay.hpp
#   apps/openmw/mwmp/processors/object/ProcessorScriptGlobalFloat.hpp
#   apps/openmw/mwmp/processors/object/ProcessorScriptGlobalShort.hpp
#   apps/openmw/mwmp/processors/object/ProcessorScriptMemberFloat.hpp
#   apps/openmw/mwmp/processors/object/ProcessorScriptMemberShort.hpp
#   apps/openmw/mwmp/processors/object/ProcessorVideoPlay.hpp
7 years ago
David Cernat 02d8e08c58 [Server] Rename WorldProcessor into ObjectProcessor 7 years ago
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
David Cernat e355dca4dd Merge pull request #409 from TES3MP/0.6.3 while resolving conflicts
Conflicts:
	apps/openmw-mp/CMakeLists.txt
	apps/openmw-mp/Script/Functions/GUI.cpp
	apps/openmw-mp/Script/Functions/GUI.hpp
	apps/openmw-mp/Script/Functions/Items.hpp
	apps/openmw-mp/Script/Functions/Mechanics.cpp
	apps/openmw-mp/Script/Functions/Mechanics.hpp
	apps/openmw-mp/Script/Functions/Stats.cpp
	apps/openmw-mp/Script/Functions/Stats.hpp
	apps/openmw-mp/Script/ScriptFunctions.cpp
	apps/openmw-mp/Script/ScriptFunctions.hpp
7 years ago
David Cernat 2bb7a4253e [Server] Forcibly kick players after too many handshake attempts 7 years ago
David Cernat 2390744b45 Merge pull request #404 from TES3MP/0.6.3 while resolving conflicts
Conflicts:
	apps/openmw-mp/Player.hpp
	apps/openmw-mp/Script/Functions/Mechanics.cpp
	apps/openmw-mp/Script/Functions/Mechanics.hpp
	apps/openmw-mp/Script/Functions/Settings.hpp
	apps/openmw-mp/Script/Functions/Stats.cpp
	apps/openmw-mp/Script/Functions/Stats.hpp
	components/openmw-mp/Base/BasePlayer.hpp
7 years ago
David Cernat 34893ff631 [Server] Split up handshake handling into multiple functions for debug
Unfortunately, the handshake attempt limit implemented in 4ebfcc4a21 for 0.7 and then ported over to 0.6 in a3a341fee6 does not appear to work properly, which is why gathering more information on it is important.
7 years ago
David Cernat a3a341fee6 [Server] Reimplement 4ebfcc4a21 for 0.6 7 years ago
Koncord d0eef7c98e [Server] Add possibility to use previous state of data in events 7 years ago
Koncord 7deff7a42a [Server] Use "else if" instead "if" + "return" 7 years ago
Koncord 73d030b779 [Server] Remove return value from ON_PLAYER_CONNECT event 7 years ago
Koncord 44c549211e [Server] use std::unique_ptr for packet controllers and MasterClient 7 years ago
Koncord 4bde7d80f5 [Server] Use regular Ptrs where possible to avoid seizure Ptrs by lua 7 years ago
David Cernat b6a7377692 Merge pull request #366 from TES3MP/0.6.2 while resolving conflicts, 2nd try
Conflicts:
	apps/openmw-mp/Networking.cpp
	apps/openmw-mp/Script/Functions/Miscellaneous.cpp
	apps/openmw-mp/Script/Functions/Miscellaneous.hpp
	apps/openmw/mwmp/GUI/GUIChat.cpp
7 years ago
David Cernat 1cf2f35a28 [Server] Add script functions to set & get plugin enforcement state 7 years ago
Koncord 8f5d31cb03 [Server] Iterate only through updated players on each frame 7 years ago
Koncord ff8b5061b4 [Server] Modernize CellController singleton 7 years ago
David Cernat ad61d88cb1 [General] Fix typos and use consistent style for recent additions 7 years ago
Koncord 91398c5dcc [Server] Implicitly join to "Default" channel 7 years ago
Koncord aa183e6844 [General] Introduce chat channels 7 years ago
David Cernat 720ef5f6c5 [General] Use consistent code style 7 years ago
Koncord 4ebfcc4a21 [Server] Limit handshake attempts 7 years ago
David Cernat 07d75abdf8 [Server] Use consistent order for includes 7 years ago
David Cernat a8261bb385 [General] Fix printing of packet identifiers after changes to logger 7 years ago
Koncord fc3f2483ee [Server] Add manual Server Plugins sort 7 years ago
Koncord 62588ce088 [Server] Minor fixes 7 years ago
Koncord 510e657c93 Merge branch 'master' into new-script-api 7 years ago
Koncord 74c9a26d16 [Server] Fix "wrong packet with id: 14" 7 years ago
Koncord 1d16958910 [Server] Fix multiple calls of ON_POST_INIT 7 years ago
David Cernat 92553b8e29 [Server] Log startup errors by not deleting logger too early 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 c9550fc560 [Server] Use case-insensitive filename comparison for plugins
Additionally, clarify the comments related to plugin comparison.
8 years ago
David Cernat 9d05063af4 [General] Add server script functions for banning & unbanning IPs
Additionally, use a more informative message for the client when trying to connecting to a server that it is banned from.
8 years ago
Koncord 940ae5c2fb [Server] Implement GetIP API function 8 years ago
Koncord 768790e9b4 [Server] Move Base processors and Initializer to processors subdirectory 8 years ago
David Cernat a353a21280 [General] Fix code style inconsistencies 8 years ago
Koncord 24d4e1c222 [General] Remove useless PacketSendMyID 8 years ago
Koncord 250c199188 [Server] Fill query information about plugins 8 years ago
Koncord f2b8a939ef [Server] Add postInit method and move getPluginListSample in to it 8 years ago