1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 21:19:57 +00:00
Commit graph

232 commits

Author SHA1 Message Date
Koncord
b760015071 [Server] Send some packets only to nearest players 2017-02-19 16:46:42 +08:00
Koncord
bbc062de62 [Server] Use lowCamelCase in Cell 2017-02-19 16:07:44 +08:00
Koncord
08f78e21c1 [Server] Use CellController in Networking 2017-02-19 13:27:39 +08:00
David Cernat
27c4015f50 [General] Remove unused packet placeholder ID_OBJECT_HEALTH 2017-02-16 18:46:39 +02:00
David Cernat
1198caddf6 [Server] Add OnContainer script callback 2017-02-16 18:34:11 +02:00
David Cernat
eba7d8408f [Server] Use script function to get spellbook action 2017-02-16 14:23:27 +02:00
David Cernat
182b238b5f [General] Rename WorldEvent into BaseEvent 2017-02-06 12:53:41 +02:00
David Cernat
04d45b9dbb [General] Rename packets to show they are for players only, not NPCs 2017-02-05 09:01:33 +02:00
David Cernat
6328ffb9aa [General] In ID_GAME_ATTRIBUTE & ID_GAME_SKILL, rename GAME into PLAYER 2017-02-04 14:25:43 +02:00
David Cernat
9130c1f302 [General] Rename ID_CONTAINER_ADD into ID_CONTAINER 2017-02-04 13:14:37 +02:00
David Cernat
d2cf96af99 [General] Repurpose the unused ID_CONTAINER_REMOVE into ID_OBJECT_HEALTH 2017-02-04 13:05:15 +02:00
David Cernat
f4a9f27977 [Server] Stop crashing browser when receiving a query from it 2017-02-03 21:46:39 +02:00
David Cernat
c1427b2558 [General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE 2017-02-03 20:27:40 +02:00
Koncord
aed0651dc2 [Server] Some fixes for MasterClient 2017-02-03 00:55:59 +08:00
David Cernat
018b0e6699 [Server] Add script functions & callbacks for locking, unlocking & doors 2017-02-01 12:43:19 +02:00
David Cernat
958ff06ca8 [General] Rename ID_DOOR_ACTIVATE into ID_DOOR_STATE 2017-02-01 11:54:40 +02:00
David Cernat
5bd2fdcf66 [Server] Add OnObjectScale callback, and set scale for WorldObject 2017-02-01 09:25:47 +02:00
David Cernat
8c019f2c61 [Server] Update OnObjectPlace and OnObjectDelete callbacks 2017-01-31 23:26:49 +02:00
David Cernat
5eff2ece21 [Server] Fix memory leaks related to WorldEvents as suggested by Koncord 2017-01-29 20:18:19 +02:00
David Cernat
b549da996e [Server] On second thought, keep cell description as argument to them 2017-01-29 13:16:17 +02:00
David Cernat
5989bbd97e [Server] Remove arguments from OnObjectPlace & OnObjectDelete callbacks 2017-01-29 12:56:11 +02:00
David Cernat
2cecce6c72 [Server] Use static WorldEvent variable in Networking 2017-01-29 10:24:12 +02:00
David Cernat
9f1e491a75 [General] Make WorldEvents store information about multiple objects 2017-01-28 12:34:45 +02:00
David Cernat
4f288ab558 [Server] Read contents of ID_PLAYER_CELL_STATE 2017-01-26 17:53:36 +02:00
David Cernat
96bd21a7ca [Server] Rename OnPlayerCellLoad to OnPlayerCellState, add action param 2017-01-26 14:18:47 +02:00
David Cernat
244da19a51 [General] Turn ID_PLAYER_CELL_LOAD into ID_PLAYER_CELL_STATE for clarity 2017-01-26 13:49:20 +02:00
David Cernat
73d39c1a0a [General] Stop using virtual functions in BasePlayer, part 2 2017-01-25 17:19:53 +02:00
David Cernat
63c8a98083 [General] Stop using virtual functions in BasePlayer 2017-01-25 17:06:15 +02:00
David Cernat
c62a575a9e [Server] Change order of words in the names of script callbacks 2017-01-25 14:59:23 +02:00
David Cernat
1d9c6ddd81 [General] Add placeholders for the new packet ID_PLAYER_CELL_LOAD 2017-01-25 14:51:43 +02:00
David Cernat
25e535e8ad [Server] Fix integer types for new script callbacks 2017-01-25 07:51:44 +02:00
David Cernat
f9feaf05f0 [Server] Add script callbacks for object placement and deletion 2017-01-25 05:30:25 +02:00
David Cernat
68727751ed Fix arguments for OnPlayerChangeSpellbook in server Networking 2017-01-20 12:54:03 +02:00
David Cernat
869b32383e Fix arguments for OnPlayerChangeJournal in server Networking 2017-01-20 12:52:03 +02:00
David Cernat
e2c595fc5d Add preliminary structure for journal changes 2017-01-20 12:05:45 +02:00
David Cernat
e9b22814b9 Create placeholder for ID_GAME_JOURNAL 2017-01-20 11:15:10 +02:00
David Cernat
a69f294ef0 Rename ID_GAME_CELL into ID_PLAYER_CELL_CHANGE 2017-01-20 10:30:50 +02:00
David Cernat
e7675d94d4 Make server script functions for spells consistent with those from items 2017-01-20 06:00:14 +02:00
David Cernat
33e85c54de Rename BasePlayer Inventory & Spellbook into PacketItems & PacketSpells
This avoids confusion when either of those is used to store and send a single item, and no longer requires coming up with confusing variable names like realSpellbook or realInventory for actual full spellbooks and inventories.
2017-01-19 18:06:59 +02:00
Koncord
f510a5583f Move MasterClient to Networking class
Rename MOTD to hostname
2017-01-10 19:21:31 +08:00
Koncord
b5c586d5b7 Add and implement ID_MASTER_QUERY 2017-01-10 18:33:02 +08:00
Koncord
97dd8704a3 Ignore ping packets 2017-01-07 23:05:22 +08:00
Koncord
7595b33461 Implement spellbook 2016-12-29 21:19:57 +08:00
Koncord
af7b232789 Fix type mismatch 2016-12-21 15:46:02 +08:00
Koncord
0d9a4f2b6f Fix "Unhandled PlayerPacket with identifier 135" 2016-12-21 15:01:18 +08:00
Koncord
f74734cfba Fix server crash if player is not fully connected 2016-12-16 17:53:56 +08:00
David Cernat
4e23fc0a5b Send action parameter to OnPlayerChangeSpellbook 2016-11-22 02:32:02 +02:00
David Cernat
9e290ad799 Fix spacing irregularities 2016-11-21 23:40:50 +02:00
David Cernat
95efb77e53 Implement sending of ID_GAME_SPELLBOOK from client 2016-11-21 06:07:29 +02:00
David Cernat
6ea5f08e9c Create placeholder for ID_GAME_SPELLBOOK 2016-11-21 02:28:05 +02:00
David Cernat
ae39daf76a Add and implement ID_MUSIC_PLAY 2016-11-20 22:54:49 +02:00
Koncord
902e968fd9 Use RakNetGUID instead uint64_t in TPlayers 2016-11-17 13:12:06 +08:00
Koncord
e2359b01ea Use constant instead magic value 2016-11-17 13:02:24 +08:00
Koncord
e2522fa366 Simplify LOG macros 2016-11-17 12:39:35 +08:00
David Cernat
ad43cb5473 Revert "Use lowerCamelCase in tes3mp server script function names, part 2"
This reverts commit 80d16fe1fd.
2016-11-16 19:27:46 +02:00
David Cernat
6cd959fac8 Rename BasePlayer's GetCell() into getCell() 2016-11-16 17:43:58 +02:00
David Cernat
80d16fe1fd Use lowerCamelCase in tes3mp server script function names, part 2 2016-11-16 17:39:44 +02:00
David Cernat
25dc2b19e7 Use lowerCamelCase in tes3mp server networking function names 2016-11-16 02:05:14 +02:00
David Cernat
7be86388db Fix build for server 2016-11-16 01:16:02 +02:00
Koncord
82f202c891 Implement GetAvgPing(pid) function 2016-11-04 20:15:14 +08:00
David Cernat
107dacac6d Add OnPlayerChangeInventory server script callback 2016-11-03 16:39:31 +02:00
David Cernat
31d02e8bf1 Move Networking code for ID_GAME_INVENTORY next to ID_GAME_EQUIPMENT 2016-10-31 17:16:41 +02:00
David Cernat
373011f883 Only send information to POSTLOADED player about other POSTLOADED ones 2016-10-31 01:14:17 +02:00
David Cernat
05cfc918f5 Temporarily use a whitelist for scripts instead of a blacklist 2016-10-30 21:00:54 +02:00
David Cernat
621faf368e Fix server crash caused by invalid player GUIDs, 2nd attempt 2016-10-30 18:07:23 +02:00
David Cernat
ffb7683a5f Use suicide as death reason when an attacker leaves the server 2016-10-30 17:39:45 +02:00
David Cernat
eebe1f156a Change logic for death reasons so it makes sense 2016-10-30 13:19:48 +02:00
David Cernat
3c88f6f0cd Fix server crash caused by invalid player GUIDs 2016-10-29 16:41:29 +03:00
David Cernat
46397a7dac Add and implement ID_OBJECT_ANIM_PLAY 2016-10-27 16:09:02 +03:00
David Cernat
c205e793cb Add and implement ID_SCRIPT_MEMBER_SHORT 2016-10-27 00:41:14 +03:00
David Cernat
c91e240664 Simplify the type of map that player objects are stored in 2016-10-26 21:36:58 +03:00
David Cernat
2032bf9cad Fix typo in debug 2016-10-26 17:22:53 +03:00
David Cernat
97468980af Add and implement 3 new WorldPackets for ingame script variable values 2016-10-26 12:25:50 +03:00
David Cernat
385b5f39e3 Add and implement ID_OBJECT_ROTATE 2016-10-25 14:28:39 +03:00
David Cernat
0fb9b6eefb On second thought, rename ID_OBJECT_MOVE_WORLD into ID_OBJECT_MOVE 2016-10-25 12:53:18 +03:00
David Cernat
947a677801 Replace ID_ACTIVATOR_ACTIVATE with ID_OBJECT_MOVE_WORLD 2016-10-25 12:42:29 +03:00
David Cernat
c25ebc34b3 Shorten WorldPacket IDs by removing WORLD from them 2016-10-25 12:15:27 +03:00
David Cernat
52d156e136 Make server able to receive the 5 new WorldPackets 2016-10-25 00:50:32 +03:00
David Cernat
24bfe40bf7 Add debug about current server crash 2016-10-24 21:17:53 +03:00
David Cernat
b6111d16cc Add and implement ID_WORLD_VIDEO_PLAY 2016-10-24 17:52:19 +03:00
David Cernat
3fd93896f2 Add and implement ID_WORLD_OBJECT_LOCK 2016-10-24 13:20:04 +03:00
David Cernat
08ea5163c4 Add and implement ID_WORLD_OBJECT_UNLOCK 2016-10-24 11:26:31 +03:00
David Cernat
c639337842 Merge with tes3mp-packetexpansion by fixing conflicts
# Conflicts:
#	apps/openmw-mp/Networking.cpp
#	apps/openmw/mwmp/Networking.cpp
#	components/CMakeLists.txt
#	components/openmw-mp/NetworkMessages.hpp
#	components/openmw-mp/PacketsController.cpp
2016-10-23 17:57:38 +03:00
David Cernat
0a44bea91d Send cell coordinates in tes3mp using mData instead of mCellId.mIndex 2016-10-23 16:55:30 +03:00
David Cernat
cbc132612a Use mRefNum.mIndex instead of just mRefNum and add extra debug 2016-10-23 16:33:53 +03:00
Koncord
c27351c19e Implement inventory functions
AddItem, RemoveItem, GetItemName, GetItemCount, GetItemHealth, GetInventorySize SendInventory
Example:
```lua
tes3mp.AddItem(pid, "glass dagger", 1, 50)
tes3mp.AddItem(pid, "glass dagger", 1, -1)
tes3mp.SendInventory(pid)
tes3mp.RemoveItem(pid, "glass dagger", 1)
tes3mp.SendInventory(pid)
local invSize = tes3mp.GetInventorySize(pid) - 1
for i = 0, invSize do
    print(("%s %d %d"):format(tes3mp.GetItemName(pid, i), tes3mp.GetItemCount(pid, i), tes3mp.GetItemHealth(pid, i)))
end
```
2016-10-23 02:57:49 +08:00
David Cernat
3c49157ed7 Rename WorldPackets to ID_WORLD_OBJECT_DELETE and ID_WORLD_OBJECT_PLACE 2016-10-22 18:05:32 +03:00
David Cernat
92463c4a03 Fix Windows server crash caused by printing event->CellRef()->mRefID 2016-10-22 14:13:16 +03:00
David Cernat
8080cceac6 Add some placeholder code so Stanislav can test it 2016-10-22 12:45:19 +03:00
David Cernat
565e7e4b9f Create and implement placeholder for ID_WORLD_OBJECT_CREATION 2016-10-21 21:57:05 +03:00
David Cernat
ac666edebd Add a CellRef to WorldEvent 2016-10-20 22:15:47 +03:00
David Cernat
d0328f2553 Add placeholder ProcessWorldPacket method to server's Networking 2016-10-19 21:44:17 +03:00
David Cernat
2602c1f71a Add ProcessPlayerPacket method to server's Networking 2016-10-19 21:26:42 +03:00
David Cernat
f1ec01cc6b Add WorldPacketController to server's Networking 2016-10-19 20:51:51 +03:00
David Cernat
bda1f867fd Rename server's GetController() method into GetPlayerController() 2016-10-19 16:54:39 +03:00
David Cernat
d2212ef80b Rename PacketsController into PlayerPacketController 2016-10-19 16:31:07 +03:00
David Cernat
5e0c0dd5f1 Use logger in server's Networking MainLoop 2016-10-19 13:00:33 +03:00
David Cernat
b8f4cb94fb Rename BasePacket into PlayerPacket 2016-10-17 15:54:36 +03:00
Koncord
bd1b1fca64 Woops 2016-10-08 15:36:25 +08:00
Koncord
50d989d767 Fix server crash if player is not fully connected 2016-10-08 15:30:52 +08:00
Koncord
79532cf797 Detecting reason of death 2016-10-08 15:15:43 +08:00
Koncord
94d5efdfd3 Call LOG_QUIT after Networking's dtor call 2016-09-30 18:16:09 +08:00
David Cernat
433190d82e Rename OnPlayerUpdateEquiped into OnPlayerChangeEquipment 2016-09-28 15:20:23 +03:00
David Cernat
b6086ab015 Rename ID_GAME_DYNAMICSTATS_CURRENT into ID_GAME_DYNAMICSTATS 2016-09-28 14:13:24 +03:00
David Cernat
57f07813b0 Rename ID_GAME_UPDATE_POS into ID_GAME_POS 2016-09-28 11:45:14 +03:00
David Cernat
26487598a6 Rename ID_GAME_UPDATE_EQUIPED into ID_GAME_EQUIPMENT 2016-09-28 11:36:29 +03:00
David Cernat
ce4b326b02 Rename ID_GAME_UPDATE_BASESTATS into ID_GAME_DYNAMICSTATS_CURRENT 2016-09-28 07:50:16 +03:00
David Cernat
046a1ea899 Add packet for player levels 2016-09-25 14:28:25 +03:00
David Cernat
9690e007df Don't send unhandled skill and attribute requests to joining players 2016-09-19 11:06:04 +03:00
Koncord
24617589e4 Fix packet spam 2016-09-18 15:52:26 +08:00
Koncord
96e2d749c7 New auth protocol 2016-09-18 11:55:51 +08:00
Koncord
11eae277a9 Characters Class API
Added some new functions
2016-08-30 11:18:19 +08:00
David Cernat
486de67d84 Make handshake log message less confusing 2016-08-24 06:38:38 +03:00
David Cernat
7691bcc958 Add server script callbacks for attribute and skill changes 2016-08-23 03:04:22 +03:00
David Cernat
03d6e0cb62 Send attributes and skills to server whenever they change 2016-08-23 02:24:10 +03:00
David Cernat
c4f49e05e3 Remove manual newlines for logger 2016-08-19 07:54:10 +03:00
Koncord
d3c9864fb0 Fix maximum connections 2016-08-19 08:18:25 +08:00
David Cernat
cba01af683 Log player initialization on server 2016-08-19 01:32:39 +03:00
David Cernat
2337a0becb Add LOG_APPEND method for writing to log without timestamp and level 2016-08-18 23:17:46 +03:00
David Cernat
f4744f8547 Add additional log info 2016-08-18 22:29:54 +03:00
David Cernat
97f944dde7 Use logger for most console messages 2016-08-18 20:20:17 +03:00
David Cernat
a2dbeb6c95 Share skills and attributes correctly upon logging in, and fix grammar 2016-08-18 05:21:25 +03:00
David Cernat
e5cb58e7c4 Add debug info about ID_GAME_BASE_INFO packets 2016-08-17 21:18:04 +03:00
David Cernat
8eda381016 Make formatting consistent, part 2 2016-08-17 18:20:36 +03:00
David Cernat
1363c4c5b6 Make formatting consistent 2016-08-17 18:04:35 +03:00
David Cernat
38c8d2344b Uncomment sending of stats packets to and from new players 2016-08-17 04:52:15 +03:00
Koncord
c695923825 Added master server stuff 2016-08-15 07:48:55 +08:00
Koncord
7898b1181d Reduced package size 2016-08-05 14:21:09 +08:00
Koncord
a815d013fe Reducing CPU usage for server 2016-08-05 14:16:02 +08:00
Koncord
9ab77cb123 New API functions: MessageBox, CustomMessageBox, InputDialog
New Callback: OnGUIAction
2016-07-23 22:02:06 +08:00
Koncord
299c4c904e Resurrect function 2016-07-12 23:26:53 +08:00
Koncord
1b259e2d33 Syncing inventory, animations, position, 8 key attributes
Created Package system
2016-07-07 23:50:48 +08:00