Commit graph

791 commits

Author SHA1 Message Date
Koncord
4ca5da5666 [Server] Rework Plugin API, move Lua system to external library
Use LibFFI for Public & Timer APIs
Use "PlayerId" type instead "unsigned short"
Add GetPluginDir() function
2019-02-12 05:29:57 +08:00
Koncord
a9701028a2 Make API headers C compatible 2019-02-12 05:23:02 +08:00
Koncord
bd3c974ea1 [Server] Trait all API functions as "extern C" 2019-02-12 05:21:01 +08:00
Koncord
a9aecd09d2 [Server] Fix wrong class tagging 2019-02-12 05:20:27 +08:00
Koncord
6caed5d47e [General] Add comments to false-positive PVS messages 2019-02-12 05:20:27 +08:00
Koncord
ddd370b61b [General] Add ENABLE_PVS option to CMake 2019-02-12 05:20:27 +08:00
Koncord
5519572b22 [General] Fix warnings and errors found by PVS Studio in Server 2019-02-12 05:20:27 +08:00
Koncord
7ab7c4c9c2 [General] Add PVS Studio macros 2019-02-12 05:19:03 +08:00
Koncord
2f75ecabcb [General] Update LuaBridge to 3154e94487dedc84f038c5787985ddc01a95d126 2019-02-12 05:19:03 +08:00
Koncord
dca7e1ec45 [Server] Fix GCC 8 build 2019-02-12 05:19:03 +08:00
Koncord
add6b02b79 [Server] Do not export all symbols 2019-02-12 05:18:25 +08:00
Koncord
e7e374f7c5 [Server] Fix order of CDECL 2019-02-12 05:18:25 +08:00
Koncord
f24b8b8738 [Server] Fix rebase conflicts 2019-02-12 05:18:25 +08:00
Koncord
6a2878820c [Server] Trait all API functions as "extern C"
Move Timer & Public functions to Script/Functions
2019-02-12 05:18:25 +08:00
Koncord
0df32accca [Server] Fix ARM build 2019-01-21 12:02:02 +08:00
David Cernat
2e1d4a9449 [Server] Fix non-Windows builds 2019-01-05 22:11:58 +02:00
David Cernat
e70fd2cf3a [Server] Accept clients with wrong password on servers with no password 2018-12-31 03:52:25 +02:00
David Cernat
eb52babf29 [Server] Print IP instead of name or PID for players unable to connect
The player name was always blank in such situations, providing no useful information. The PID was not useful in any way either.
2018-12-30 18:02:26 +02:00
David Cernat
e96091fd6b [General] Use more consistent variable names for password, address, etc. 2018-12-30 17:23:12 +02:00
David Cernat
6e1504f0a1 [Server] Use clearer variable & function names in TimerAPI 2018-12-30 04:15:53 +02:00
David Cernat
42b5a8054f [Server] Remove unusable position functions for players 2018-12-30 03:17:37 +02:00
Koncord
4ce0331f1b [Server] Fix GCC build 2018-12-29 15:54:08 +08:00
Koncord
9343b8af2f [Server] Remove unused function 2018-12-29 14:02:08 +08:00
Koncord
c2230a8a21 [Server] Add MP flag to the server if enabled 2018-12-29 12:03:01 +08:00
Koncord
55cea491ca [Server] Introduce MS VC++ 2017 support 2018-12-29 11:57:26 +08:00
Koncord
6af2400752 [Server] Remove usages of get/set env. Add GetModDir function 2018-12-29 11:40:31 +08:00
Koncord
b3456a8841 [Server] Fix invalidation of iterators 2018-12-29 11:10:20 +08:00
David Cernat
5e38e8abdb [Server] Add GetArchitectureType() script function
Additionally, bring GetOperatingSystem() up-to-date by making it use the renamed function in Utils.
2018-12-17 11:55:50 +02:00
David Cernat
fa1700e2ab [Server] Add GetOperatingSystemType() script function 2018-12-17 11:32:31 +02:00
David Cernat
b7090b2550 [Server] Add experimental option for not crashing from Lua script errors
Additionally, fix return type of GetPluginEnforcementState()
2018-12-01 03:03:39 +02:00
David Cernat
d8ca268067 [Server] Move plugin enforcement functions to ServerFunctions 2018-11-30 22:43:10 +02:00
David Cernat
2933526995 [Server] Include errors related to Lua calls in server logs 2018-11-30 22:01:02 +02:00
Koncord
e162af0003 [Server] Disallow non void callbacks 2018-10-30 15:32:52 +08:00
Koncord
07a5f5296c [Server] Rework OnRequestPluginList callback. Add AddPluginHash function 2018-10-30 14:56:54 +08:00
Koncord
20a7619a4a [Server] Remove result from the OnPlayerConnect callback
Now it's recommended to use tes3mp.Kick() function
2018-10-30 13:18:32 +08:00
Koncord
f1e8569291 [Server] Remove result from the OnPlayerSendMessage callback 2018-10-30 13:13:07 +08:00
Koncord
efa362031e [Server] Remove unused Main callback 2018-10-30 13:03:37 +08:00
Koncord
b83e4056a8 [Server] Remove CallFF dependency as it not fully supported by Windows and MacOS 2018-10-30 12:59:47 +08:00
Koncord
585557ad8a [Server] Remove argument cast in the Call with va_args 2018-10-30 12:58:15 +08:00
Koncord
3101de5f02 [Server] Add kicked load status 2018-10-30 12:56:50 +08:00
David Cernat
99f8ef88a5 [Server] Add SetObjectActivatingPid() script function 2018-10-22 16:25:50 +03:00
David Cernat
bb834748c5 [Server] Log player kicks 2018-10-13 09:34:29 +03:00
David Cernat
a3111fbcc1 [Server] Use clearer error message when failing to bind port 2018-10-13 08:35:07 +03:00
David Cernat
292536439e [Server] Rename script functions for clearing packet vectors for players 2018-10-03 02:26:47 +03:00
David Cernat
c79660f721 [Server] Make inventory script functions consistent with others
Functions that add elements to a vector should not change the action. This fixes the last remaining oddity in Koncord's original implementation of inventory sync.
2018-10-01 18:29:50 +03:00
David Cernat
b76e00c66e [Server] Call OnPlayerCellChange script event near start of cell change
This makes it possible to send custom records used by players for their equipment before the hardcoded exchange of equipment packets takes place.

Additionally, remove the check for dead players because it has no real use and can potentially cause problems.
2018-09-26 02:40:21 +03:00
Koncord
48f4792bc1 [Server] Add GetMaxPlayers, GetPort and HasPassword functions to API 2018-09-05 18:19:34 +08:00
David Cernat
9e58cc82bd [Server] Set minimum updateRate when communicating with master server 2018-08-23 00:10:49 +03:00
David Cernat
d1fa57ac14 [General] Switch to new official master server port when using old one 2018-08-22 13:49:17 +03:00
David Cernat
75a64a69c7 [Server] Add GetInventoryChangesAction() script function
Additionally, fix a typo in the description of GetSpellBookChangesAction()
2018-08-21 10:06:40 +03:00