David Cernat
66a3f3d475
[Server] Use cleaner solution for safely reading cell descriptions
2017-06-23 08:29:14 +03:00
David Cernat
78f29302ef
[General] Fix PlayerJournal logic by sending only refIds for its actors
...
Additionally, make the refIds for actors usable in script functions.
2017-06-23 08:12:32 +03:00
David Cernat
48c63dbce9
[General] Fix ObjectLock packets by making hasCellData true for them
2017-06-22 05:49:44 +03:00
David Cernat
4ad87faac1
[Server] Create new Settings category for script functions
2017-06-20 07:24:15 +03:00
David Cernat
ebf7740969
[General] Repurpose GameConsole packet as GameSettings & add difficulty to it
2017-06-20 05:28:45 +03:00
Koncord
3803535bd5
[General] Implement CleanChat()
2017-06-12 08:01:47 +08:00
Koncord
7b98f9f7ff
[Server] Log all exceptions
2017-06-11 20:04:56 +08:00
David Cernat
51b95f35cd
[Server] Fix problem with fetching interior cell descriptions
2017-06-10 18:03:58 +03:00
David Cernat
db7709ee18
[Server] Modernize getting and setting of player cells
2017-06-10 17:49:41 +03:00
David Cernat
0d3976950b
[Server] Use consistent names for rotation script functions
2017-06-10 17:06:09 +03:00
David Cernat
70d9374a6a
[General] Implement PlayerKillCount packets
2017-06-10 14:04:19 +03:00
David Cernat
5b23da8e1c
[General] Rename unused PlayerRegionChange packet into PlayerKillCount
2017-06-10 12:01:37 +03:00
David Cernat
ee5c9b65c5
[General] When changing region, send new region name in PlayerCellChange
2017-06-10 11:43:40 +03:00
David Cernat
f02ed0d621
[Server] Add script functions for getting and setting actor dynamic stat modifiers
2017-06-10 09:28:35 +03:00
Koncord
568b0702fa
[Server] Implement PasswordDialog
2017-06-06 23:34:27 +08:00
Koncord
cef58fa164
[Server] Change fprintf to LOG_MESSAGE_SIMPLE in GET_PLAYER
2017-06-06 16:35:05 +08:00
Koncord
186e5fe33e
[Server] Remove GetAngleY & remove Y parameter from SetAngle
2017-06-06 16:33:34 +08:00
David Cernat
a353a21280
[General] Fix code style inconsistencies
2017-05-31 08:37:11 +03:00
David Cernat
f4cdedd8cb
[General] Synchronize summoned creatures
2017-05-30 10:11:01 +03:00
David Cernat
4e5c8873e0
[General] Use ObjectSpawn instead of ObjectPlace for actors
2017-05-29 06:59:05 +03:00
David Cernat
27148ce9eb
[General] Add placeholders for 12 new packets, to be implemented soon
...
Additionally, make it slightly clearer who created which previously existing packets.
2017-05-29 04:43:52 +03:00
Koncord
b3b7003313
[Server] Add "--no-logs" option
2017-05-28 19:12:58 +08:00
Koncord
dbb636ac90
[Server] Parse program options
2017-05-28 19:10:16 +08:00
Koncord
c4686ec578
[Server] Remove debug line
2017-05-28 18:48:55 +08:00
Koncord
cc7efc6e37
[Server] Use first 10 characters of CommitHash for humans
2017-05-28 18:32:23 +08:00
Koncord
80925736c0
[Server] Add commit hash to the rules
2017-05-28 18:29:00 +08:00
Koncord
bc3612dfe9
[Server] Add commit hash to password
2017-05-28 18:26:38 +08:00
David Cernat
940a2b6eb5
[Server] Add script functions for setting and sending ActorEquipment
2017-05-27 00:57:40 +03:00
David Cernat
f47a10dd4a
[Server] Add script callback and getter functions for ActorEquipment
2017-05-26 22:54:51 +03:00
David Cernat
32879adc5b
[General] Allow ObjectTrap to trigger traps, not just disarm them
2017-05-26 01:28:43 +03:00
David Cernat
93aa674eff
[Server] Add SendObjectTrap() script function
2017-05-26 00:42:46 +03:00
Koncord
24d4e1c222
[General] Remove useless PacketSendMyID
2017-05-26 02:40:49 +08:00
Koncord
a9fc096c9a
[General] Move password of master server to header
2017-05-26 01:34:39 +08:00
David Cernat
dbdb11b5f0
[Server] Add script functions for dialogue
2017-05-24 23:22:43 +03:00
David Cernat
08de349133
[General] Add placeholders for PlayerTopic & ObjectTrap packets
2017-05-24 19:01:28 +03:00
David Cernat
870fd9a78b
[General] Remove ObjectUnlock packet, use ObjectLock with 0 lock instead
2017-05-24 13:28:34 +03:00
David Cernat
0595192129
[Server] Make GetFactionExpelledState() return a bool instead of an int
2017-05-18 21:51:24 +03:00
David Cernat
a2e2ca7cab
[Server] Add script functions for factions
2017-05-18 20:56:50 +03:00
David Cernat
e6983993c2
[General] Implement sending and reading of PlayerFaction packets
2017-05-18 19:27:20 +03:00
David Cernat
04c9c5ed48
[General] Forward PlayerJournal packets to other players
2017-05-18 12:57:48 +03:00
David Cernat
90c594b726
[Server] Make names for Player script callbacks shorter
2017-05-16 20:52:09 +03:00
David Cernat
a634a5d9bb
[Server] Add missing includes for ProcessorInitializer
2017-05-16 19:53:58 +03:00
David Cernat
ad388c7e12
[General] Add placeholders for ActorEquipment & PlayerFaction packets
...
Also reorder packets and packet processors.
2017-05-16 19:25:31 +03:00
David Cernat
f527fe9ebe
[General] Add basic integrity check to reading of ActorList packets
...
Additionally, add newlines to files missing them.
2017-05-16 14:20:40 +03:00
David Cernat
05564bd123
[General] Add basic integrity check to reading of Container packets
2017-05-14 20:24:06 +03:00
David Cernat
3c30801eac
[Server] Try to fix server crash from iterations through invalid players
2017-05-09 14:30:25 +03:00
Koncord
31adb5d715
[Server] Allow timers callbacks to restart timers
2017-05-08 05:48:04 +08:00
David Cernat
de49f5f175
[General] Add and use isActor bool for WorldObject
2017-05-07 03:07:09 +03:00
David Cernat
9d2c5c3502
[General] Simplify structure of BaseEvent
2017-05-06 21:57:29 +03:00
Koncord
250c199188
[Server] Fill query information about plugins
2017-05-07 02:52:28 +08:00
Koncord
87c172186e
[Server] Add and implement PushPlugin method to MasterClient
2017-05-07 02:51:57 +08:00
Koncord
873da495b1
[Server] Trigger 'update' when added new rules in MasterClient
2017-05-07 02:51:25 +08:00
Koncord
f2b8a939ef
[Server] Add postInit method and move getPluginListSample in to it
2017-05-07 02:49:58 +08:00
Koncord
26445355e6
[Server] Fix initialization of mclient
2017-05-07 02:17:15 +08:00
Koncord
a4a77ddeff
[Server] Add SetRuleString and SetRuleValue to script API
2017-05-07 02:17:15 +08:00
Koncord
a0b71eda23
[Server] FIx deadlock
2017-05-07 02:17:15 +08:00
Koncord
c2ce2f2ce7
[Server] Use MasterServer update rate from config
2017-05-07 02:17:15 +08:00
Koncord
32284787de
[Server] Add OnServerPostInit callback
2017-05-07 01:42:01 +08:00
David Cernat
4d81455020
[General] Rework and simplify death reasons so they work with NPCs
2017-05-05 22:16:31 +03:00
David Cernat
06f3c07116
[Server] Only read Actor packets from players who are still authorities
2017-05-05 06:13:34 +03:00
David Cernat
e01cadad23
[Server] Send ActorAuthority packets to all players who loaded the cell
2017-05-03 04:45:55 +03:00
David Cernat
63dd2d9246
[General] Remove code related to ActorAuthority packets that is not used
2017-05-03 04:43:59 +03:00
David Cernat
c3c04bbfc3
[General] Make coding style consistent
2017-05-02 22:47:58 +03:00
Koncord
bda9a76d29
[Server] Send server plugin list to client
2017-05-02 23:33:50 +08:00
Koncord
f00c4dc107
[Server] Improve preload logic for parsing plugin lists
2017-05-02 20:21:08 +08:00
Koncord
5ddad6a4c6
[Server] Implement getPluginListSample()
2017-05-02 20:21:08 +08:00
Koncord
b223d0fa1e
[Server] Register new callback
2017-05-02 20:21:08 +08:00
David Cernat
377aa9b6c9
[Server] Refresh cellActorList's count after removing Actors from it
2017-05-02 03:39:00 +03:00
David Cernat
83ba4b62b1
[Server] Remove Actors from a Cell's ActorList when they change cells
2017-05-02 01:39:08 +03:00
David Cernat
4c35c328a9
[Server] Add SendActorPosition() script function
2017-05-01 20:58:40 +03:00
David Cernat
e5e888ac21
[Server] Add script functions for checking what data an Actor has
2017-05-01 20:55:36 +03:00
David Cernat
fafed96bf4
[Server] Store data from ActorPosition in the ActorLists of Cells
2017-05-01 20:42:54 +03:00
Koncord
5517d871c6
[Server] Handle ID_CONNECTION_ATTEMPT_FAILED in MasterClient
...
And fix log message
2017-05-02 00:24:24 +08:00
Koncord
1ce8c0f9ec
[Server] Fix id in log message for ID_PLAYER_CELL_STATE processor
2017-05-02 00:16:54 +08:00
Koncord
6ddab0d323
[Server] Add and implement "look like creature" functions
2017-05-01 21:15:12 +08:00
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.
2017-05-01 02:36:13 +03:00
David Cernat
e1ee4a4f49
[Server] Store data from ActorStatsDynamic in the ActorLists of Cells
2017-05-01 00:53:08 +03:00
David Cernat
217894100a
[Server] Add ReadCellActorList() script function
2017-05-01 00:49:58 +03:00
David Cernat
a73cbac226
[Server] Store a BaseActorList in every Cell to keep track of Actor data
2017-05-01 00:42:34 +03:00
David Cernat
e8e0090b9b
[General] Use new SimpleCreatureStats struct in BaseActor
2017-04-30 18:44:59 +03:00
David Cernat
0e8d115794
[Server] Clean up ActorFunctions by using readActorList pointer
...
Also rename scriptActorList into writeActorList, and also rename matching methods, for clarity.
2017-04-30 17:12:15 +03:00
David Cernat
b54560a362
[Server] Clean up WorldFunctions by using readEvent pointer
...
Also rename scriptEvent into writeEvent, along with matching methods, for clarity.
2017-04-30 16:35:56 +03:00
David Cernat
0ba8a407bc
[Server] Reuse Cell deletion code in CellController
2017-04-30 04:03:03 +03:00
David Cernat
b62969d3cf
[Server] Add OnCellUnload script callback
2017-04-30 03:32:04 +03:00
David Cernat
234510a87f
[Server] Split off Cell and CellController into two different files
2017-04-29 23:05:12 +03:00
David Cernat
a2f6d99dfd
[Server] Use new CreatureStats in ActorFunctions to fix invalid pointer
2017-04-29 18:20:01 +03:00
David Cernat
6ff9091afd
[Server] Add script functions for setting actor dynamic stats
2017-04-29 02:10:14 +03:00
David Cernat
9d7142f684
[Server] Clean up order for StatsFunctions
2017-04-29 01:42:11 +03:00
David Cernat
03c56e01f9
[Server] Add script functions for getting actor dynamic stats
2017-04-29 01:15:19 +03:00
David Cernat
3d6b21942c
[Server] Add OnActorStatsDynamic script callback
2017-04-29 00:32:23 +03:00
David Cernat
328b4fb763
[Server] Fix invalid pointers when using ActorFunctions::GetActorCell()
2017-04-28 20:31:02 +03:00
David Cernat
a71dbc7d09
[Server] Add script functions for setting actor cells and positions
2017-04-28 18:44:01 +03:00
David Cernat
9c5eb47e90
[Server] Add and use Utils::getCellFromDescription()
2017-04-28 16:33:58 +03:00
David Cernat
aeab851ed8
[Server] Add script functions for getting actor position coordinates
2017-04-28 00:05:12 +03:00
David Cernat
1ce60fbf30
[Server] Add GetActorCell() script function
2017-04-27 14:59:49 +03:00
Koncord
b677a0455d
[Server] Fix MasterClient crashes
2017-04-27 11:41:45 +08:00
David Cernat
9a89284bca
[Server] Add OnActorCellChange script callback
2017-04-25 23:31:37 +03:00
David Cernat
6a21ec1fdc
[General] Rename PlayerPos into PlayerPosition
2017-04-25 22:11:33 +03:00
David Cernat
7b07d6651f
[General] Add and use PlayerBounty packet and matching script functions
2017-04-25 21:24:39 +03:00
David Cernat
6658531713
[General] Fix names for two PlayerProcessors
2017-04-25 19:01:56 +03:00
Koncord
51422da641
[Server] Remove outdated code
2017-04-24 20:27:15 +08:00
Koncord
0f30f57d4d
[Server] Handle IS_PENDING and IS_CONNECTING in switch
2017-04-24 20:26:19 +08:00
Koncord
d0c3d190e1
[Server] Send players list to master server
2017-04-24 20:24:39 +08:00
Koncord
3e00d42067
[Server] Reworking MasterClient to new master server
2017-04-24 20:01:05 +08:00
Koncord
d1df9dde14
[Server] Add processors to source groups
2017-04-23 13:59:17 +08:00
David Cernat
a650683bae
[General] Add and use Target struct in mwmp::Attack
2017-04-17 18:31:39 +03:00
David Cernat
340ad09c97
[Server] Rename variables in ProcessorPlayerAttack
2017-04-17 17:43:03 +03:00
David Cernat
870886192b
[General] Rename DYNAMICSTATS into STATS_DYNAMIC
2017-04-16 09:00:18 +03:00
David Cernat
ca8fd1aa72
[General] Remove ActorHeadRotation packet because it would be too spammy
2017-04-15 15:49:40 +03:00
David Cernat
e7960eee76
[General] Rename DrawState packets into AnimFlags ones for clarity
2017-04-14 16:00:34 +03:00
David Cernat
9e25a95861
[Server] Initialize processors for recently added ActorPackets
2017-04-13 18:57:48 +03:00
David Cernat
0d196af685
[General] Add placeholders for 7 new ActorPackets
2017-04-11 11:37:38 +03:00
David Cernat
742d6f653a
[General] Add ActorPosition packet
2017-04-10 12:38:30 +03:00
David Cernat
b6c3830ea0
[General] Rename WorldObject's pos into position for consistency
2017-04-10 09:25:20 +03:00
David Cernat
174f316787
[General] Rename PacketActorFrame into PacketActorTest
2017-04-10 08:37:18 +03:00
David Cernat
69bf2749a5
[Server] Add ActorFunctions for getting and setting basic actor data
2017-04-10 06:15:03 +03:00
David Cernat
e9c3abc2c3
[Server] Reset variables more elegantly in WorldFunctions
2017-04-10 02:37:43 +03:00
David Cernat
c52084a028
[General] Use BaseActorLists in ActorPackets
2017-04-09 16:32:44 +03:00
David Cernat
1b714fbfa7
[Server] Make script functions more consistent
2017-04-09 12:28:38 +03:00
David Cernat
a24ef3a25e
[Server] Create ActorFunctions placeholder
2017-04-09 12:24:33 +03:00
David Cernat
4f3d05eed2
[General] Add ActorList class
2017-04-09 10:50:35 +03:00
David Cernat
070c6a3bd4
[General] Add ActorPacketController & make controller var names clearer
2017-04-09 08:51:28 +03:00
David Cernat
89a8ace41c
[Server] Print debug info only for certain world packets
2017-04-08 12:00:07 +03:00
David Cernat
c6c0e4acc9
[Server] Fix Cell::sendToLoaded() part 2, and fix Player::sendToLoaded()
2017-04-06 08:39:11 +03:00
David Cernat
8616323bae
[Server] Fix logic in Cell::sendToLoaded()
2017-04-06 08:27:04 +03:00
David Cernat
fae3bcaeeb
[Server] Send actor packets only to players in the same cell
2017-04-06 06:42:25 +03:00
David Cernat
ba8341bfb5
[Server] Add SendActorAuthority() script function
2017-04-05 11:02:11 +03:00
David Cernat
c65e94587c
[Server] Add SendActorList() script function
2017-04-05 04:44:47 +03:00
David Cernat
8c2469bf6d
[General] Add placeholder ActorList, ActorAuthority & ActorFrame packets
2017-04-05 04:06:45 +03:00
David Cernat
316720e710
[Server] Rename getNextMpNum() into incrementMpNum()
2017-04-05 01:30:15 +03:00
David Cernat
068835ba71
[Server] Add OnMpNumIncrement() script callback
2017-04-05 01:18:42 +03:00
David Cernat
3b34b9cd3e
[Server] Fix typo in MiscellaneousFunctions
2017-04-04 12:49:29 +03:00
David Cernat
2716078a30
[Server] Add GetCurrentMpNum() and SetCurrentMpNum() script functions
2017-04-04 12:43:17 +03:00
David Cernat
8b8c01f389
[General] Make ID_OBJECT_PLACE take effect only when sent back by server
2017-04-04 11:43:33 +03:00
David Cernat
82f38dcfad
[Server] Set mpNum in AddWorldObject()
2017-04-04 10:34:35 +03:00
David Cernat
665fe09fd0
[Server] Add GetObjectMpNum() and SetObjectMpNum() script functions
2017-04-04 09:30:17 +03:00
David Cernat
8cc61b6048
[General] Generate mpNums on the server when forwarding ID_OBJECT_PLACE
2017-04-04 09:23:34 +03:00
David Cernat
31cd836558
[General] Small tweaks to debug info
2017-04-04 08:24:11 +03:00
David Cernat
d242f3790f
[Server] Don't try to send late-arriving container packets about now unloaded cells
2017-04-04 07:21:02 +03:00
David Cernat
d8712ee1ea
[Server] Fix script crashes by reusing BaseEvent in WorldProcessor
2017-04-04 05:03:14 +03:00
David Cernat
5ff40c5563
[Server] Make coding style consistent
2017-04-04 03:05:37 +03:00
David Cernat
174937f412
[Server] Add LogMessage() and LogAppend() script functions
2017-04-04 01:47:37 +03:00
Koncord
1d2a6d9056
[Server] Rename dontRead to avoidReading
2017-04-03 06:44:14 +08:00
Koncord
47924f5bb0
[Server] Move packet.Read() to parent
2017-04-03 06:13:56 +08:00
Koncord
ead92fff61
[Server] Move setPlayer() to PlayerProcessor
2017-04-03 06:05:18 +08:00
Koncord
0317e2523b
[Server] Remove unused code
2017-04-03 05:57:03 +08:00
Koncord
c8fb7d9c1a
[Server] Move packet.Send(true) to parent class
2017-04-03 05:56:29 +08:00
Koncord
9ecc70d17c
[Server] Fix ID in ProcessorContainer
2017-04-03 05:49:23 +08:00
Koncord
f5600c508f
[Server] Move all world handlers to WorldProcessors
2017-04-03 05:46:46 +08:00
Koncord
3ab25fb3f1
[Server] Move player processors to processors/player
2017-04-03 05:45:41 +08:00
Koncord
0a1041bf56
[Server] Add WorldProcessor
2017-04-03 05:40:17 +08:00
Koncord
3b52549a3d
[Server] Rename init_processors to ProcessorInitializer
2017-04-01 08:14:26 +08:00
Koncord
e8a5fd1cd0
[Server] Move all message handlers to PlayerProcessors
2017-04-01 02:36:24 +08:00
Koncord
020167df08
[Server] Add PlayerProcessor
2017-04-01 02:35:34 +08:00
Koncord
b01734888f
[Server] Add missing header
2017-04-01 02:33:39 +08:00
Koncord
2c26ed8aee
[Server] Process ID_GAME_PREINIT packet
2017-03-06 22:51:17 +08:00
Koncord
690211ad99
[General] Extract BaseEvent & BasePlayer from packets to functions
...
Move Send and Read functions to BasePacket
2017-03-06 18:40:07 +08:00
David Cernat
82dcec5ec5
[Server] Use consistent pattern for script function category names
2017-03-04 14:11:17 +02:00
Koncord
cea1425db1
[Client] Remove redundant newlines & keep ~120 columns
2017-03-04 14:55:35 +08:00
Koncord
c353e18645
[General] Move Utils from server to components
...
Rewrite CRC32 functions to the Boost equivalent
2017-03-04 13:08:22 +08:00
David Cernat
0d32bf5943
[General] Add extra death debug, don't request data from player on death
2017-03-04 00:29:01 +02:00
David Cernat
5c269a5f8d
[General] Rename ID_GAME_DIE and ID_GAME_RESURRECT
2017-02-28 01:38:25 +02:00
Koncord
0442ebd607
[Server] Remove redundant newlines & keep ~120 columns
2017-02-27 17:13:07 +08:00
Koncord
83d0cbedb2
[Server] Remove redundant type casts
2017-02-27 16:29:28 +08:00
Koncord
8f96ca22c1
[Server] Fix typo in RakNet name
2017-02-27 16:25:29 +08:00
Koncord
aa91126ce3
[Server] Minor cleanup in Networking
2017-02-27 16:23:14 +08:00
David Cernat
684517e02f
[Server] Fix Miscellaneous category of script functions
2017-02-26 23:07:52 +02:00
David Cernat
0baada0aa2
[Server] Add GetLastPlayerId() script function in Miscellaneous category
2017-02-26 23:00:51 +02:00
David Cernat
deb10919ab
[Server] Delete cells that become empty when a player disconnects
2017-02-26 19:45:04 +02:00
David Cernat
048ddf6a34
[Server] Use LOG_APPEND for older debug messages in Cell
2017-02-26 18:06:26 +02:00
David Cernat
fb93ce57f9
[Server] Fix debug message
2017-02-26 14:12:18 +02:00
David Cernat
ae37daca70
[Server] Ensure no information exchange takes place with nullptr player
2017-02-26 14:11:45 +02:00
David Cernat
7f51ca5298
[Server] Add permanent debug to Cell and CellController
2017-02-26 14:06:34 +02:00
David Cernat
0527690b88
[Server] Add permanent debug to ID_PLAYER_CELL_CHANGE and ID_CONTAINER
2017-02-25 21:50:41 +02:00
David Cernat
7917badedf
[Server] Set guid of baseEvent, previously done in a constructor before 7065569f9b
2017-02-25 17:37:44 +02:00
David Cernat
2fd279a5ef
[Server] Remove debug message
2017-02-25 13:26:57 +02:00
David Cernat
4a5b8c927f
[Server] Add an extra check to Cell::sendToLoaded to be on the safe side
2017-02-25 12:44:20 +02:00
Koncord
45d081ba42
[Server] Compare new cells with loaded cells correctly
2017-02-25 16:47:11 +08:00
Koncord
3adbf17545
[Server] Fix memory leak in CellController
2017-02-24 13:58:40 +08:00
Koncord
ebaf3d3cc9
[Server] FIx memory leak
2017-02-24 13:32:20 +08:00
Koncord
b33e604a61
[Server] Set sendToLoaded function as constant
...
Add assertions for CellController singleton
2017-02-24 12:33:59 +08:00
Koncord
b158e89f77
[Server] Change signatures of GetLastEventAction & SetScriptEventAction
2017-02-23 15:17:00 +08:00
Koncord
cbe31149e3
[Server] Remove redundant constructor
2017-02-23 14:36:35 +08:00
David Cernat
af35ee38d1
[Server] Rename ClearScriptEvent into InitScriptEvent with pid argument
2017-02-23 08:23:46 +02:00
Koncord
868c837aa0
[Server] Move baseEvent from Networking.cpp to class as member
2017-02-23 13:53:10 +08:00
David Cernat
7065569f9b
[Server] Reuse 2 BaseEvents over and over instead of creating new ones
2017-02-23 07:47:00 +02:00
Koncord
68c288761a
[Server] Send other players position to loader
2017-02-22 16:56:09 +08:00
Koncord
b1460cf010
[Server] Send ID_PLAYER_POS every ID_PLAYER_CELL_CHANGE
2017-02-22 14:05:40 +08:00
Koncord
443c0ed309
[Server] Fix Cell iterators
2017-02-22 12:03:03 +08:00
Koncord
3d88e657cd
[Server] Fix printVersion() for ARM
2017-02-21 18:25:41 +08:00
Koncord
a75da18f31
[Server] Fix argument in log message
2017-02-21 18:14:02 +08:00
Koncord
7dde4db1fb
[Server] Add FORCE_LUA parameter to CMakeLists.txt
2017-02-21 18:04:06 +08:00
David Cernat
58795119b6
[Server] Add debug about information exchange in ID_PLAYER_CELL_CHANGE
2017-02-21 02:41:07 +02:00
David Cernat
96d01fcde4
[Server] Stop resending attacks because they cause infinite death loops
2017-02-20 22:19:39 +02:00
Koncord
edfade2a90
[Server] Some fixes in requests to the master server
2017-02-21 01:02:00 +08:00
Koncord
b7ab831c46
[Server] Update MasterClient to new protocol
2017-02-20 23:14:59 +08:00
Koncord
158e9b3b09
[Server] Add ability to set password to server from config & scripts
2017-02-20 22:40:09 +08:00
Koncord
78f5a760f4
[Server] Use variable instead method in Player.
2017-02-20 20:46:20 +08:00
Koncord
ec4d016100
[Server] Don't crash server every time a player disconnects. Again.
2017-02-20 20:44:01 +08:00
Koncord
ee494887e1
[Server] Fix log message
2017-02-20 19:45:43 +08:00
David Cernat
a4526605a6
[General] Remove goldValue from ContainerItem because it is never useful
2017-02-20 12:31:11 +02:00
David Cernat
b829f0252a
[Server] Don't crash server every time a player disconnects
2017-02-20 01:47:39 +02:00
David Cernat
3e031faa96
[Server] Exchange position information correctly between players
2017-02-19 23:30:43 +02:00
David Cernat
ed91f20cd3
[General] Print action used for ID_CONTAINER when receiving one
2017-02-19 23:11:26 +02:00
David Cernat
24251cafd0
[Server] Send large ID_CONTAINER packets on a need-to-know basis
2017-02-19 20:20:44 +02:00
David Cernat
791089d342
[Server] Add Cell::sendToLoaded() for sending events to loaded players
2017-02-19 19:42:16 +02:00
David Cernat
eb0744aa77
[Server] Add CellController:getCell() for getting Cell through ESM::Cell
2017-02-19 19:39:53 +02:00
David Cernat
ee1ba1728e
[Server] Rename getCellByID() into getCellByName() to avoid confusion
2017-02-19 18:37:20 +02:00
David Cernat
275dfaf05f
[Server] Add Cell::getDescription() for debugging purposes
2017-02-19 17:27:38 +02:00
David Cernat
887b436ee7
[Server] Make style for new methods consistent with rest of project
2017-02-19 16:53:15 +02:00
Koncord
fd36ec7613
[Server] Iterate cells where player was loaded instead all
2017-02-19 22:43:57 +08:00
Koncord
67099e437a
[Server] Remove player from Cells when disconnected
2017-02-19 22:27:00 +08:00
Koncord
f2ce46ffed
[Server] Rename doForNearest to forEachLoaded
2017-02-19 21:32:25 +08:00
Koncord
3aae782a51
[Server] Send info about loader to others
2017-02-19 20:41:50 +08:00
Koncord
465d0fe4b4
[Server] Fix log messages in CellController
2017-02-19 20:38:17 +08:00
Koncord
ca68831395
[Server] Rename sendToNearest to sendToLoaded
2017-02-19 20:37:26 +08:00
Koncord
931ecd5acb
[Server] Imrpove debug info in CellController
2017-02-19 19:29:14 +08:00
Koncord
cce49e355a
[Server] Some fixes to sendToNearest & doForNearest
2017-02-19 18:44:52 +08:00
Koncord
033472d939
[Server] Add doForNearest function
2017-02-19 17:42:39 +08:00
Koncord
b760015071
[Server] Send some packets only to nearest players
2017-02-19 16:46:42 +08:00
Koncord
846ceacc90
[Server] Add begin & end iterators to Cell class
2017-02-19 16:21:40 +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
Koncord
8887a267c7
[Server] Add Cell and CellController
2017-02-19 13:27:10 +08:00
David Cernat
b1009ad33d
[Server] Add GetContainerItemActionCount() for getting drag count
2017-02-19 00:11:09 +02:00
David Cernat
4f2b88df8a
[General] Remove owner var from ContainerItem because it is always empty
2017-02-18 23:59:02 +02:00
Koncord
a95cf0e07a
[Server] Fix crash when call StopServer() function in OnServerInit()
2017-02-18 13:00:01 +08:00
Koncord
1fb2176cfa
[Server] Add forgotten type for callbacks
2017-02-18 12:58:12 +08:00
David Cernat
c01ab63239
[Server] Add script functions for setting container item info
2017-02-17 23:11:38 +02:00
David Cernat
aa1549606f
[Server] Add script functions for getting container item info
2017-02-17 18:33:20 +02:00
David Cernat
70470e12b4
[Server] Reorder World script functions
2017-02-17 16:24:40 +02:00
David Cernat
8a5bc77699
[Server] Add GetBaseEventAction script function
2017-02-17 14:51:36 +02: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
3b604a432e
[General] Restructure ID_CONTAINER to allow multiple containers at once
2017-02-15 20:14:25 +02:00
David Cernat
c8cbfbef62
[General] Sketch out server requests to players for container data
2017-02-14 19:31:56 +02:00
David Cernat
b651c4deb4
[Server] In Item script functions, rename itemId into refId for clarity
2017-02-07 13:50:28 +02:00
David Cernat
5038353792
[General] Rename BaseEvent's state into doorState & adjust related funcs
2017-02-06 23:09:50 +02:00
David Cernat
182b238b5f
[General] Rename WorldEvent into BaseEvent
2017-02-06 12:53:41 +02:00
David Cernat
f314b13edf
[General] Rename item health into charge, for consistency with OpenMW
2017-02-05 14:56:27 +02:00
David Cernat
ecc456fea9
[General] Include charge int in WorldObject & send it w/ ID_OBJECT_PLACE
2017-02-05 13:45:12 +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
7ebad596d6
[Server] Use double instead of int for scale in WorldFunctions
2017-02-01 12:53:51 +02: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
8e438a1b82
[Server] Add OnObjectScale callback, part 2
2017-02-01 10:00:54 +02:00
David Cernat
5bd2fdcf66
[Server] Add OnObjectScale callback, and set scale for WorldObject
2017-02-01 09:25:47 +02:00
Koncord
0b8d0224d1
[Server] Change type in second argument in SetConsoleAllow to "bool"
2017-02-01 13:44:50 +08:00
Koncord
75afa58981
[Server] Add bool type for scripts
2017-02-01 13:43:17 +08:00
David Cernat
8c019f2c61
[Server] Update OnObjectPlace and OnObjectDelete callbacks
2017-01-31 23:26:49 +02:00
David Cernat
87dce73b90
[Server] Add script function for sending world object scale
2017-01-31 23:07:02 +02:00
David Cernat
705589e3e3
[Server] Add script functions for getting/setting world object scale
2017-01-31 22:54:36 +02:00
David Cernat
1fc9dd4f93
[Server] Remove WorldFunctions index parameters that are no longer used
2017-01-30 17:42:29 +02:00
David Cernat
9f998c9901
[Server] Improve getter methods in WorldFunctions
2017-01-30 17:09:14 +02:00
David Cernat
88e648aaa9
[Server] Fix crash caused by setting too many WorldObject refIds, try 2
2017-01-30 12:26:45 +02:00
David Cernat
fe9e30a4d8
[Server] Fix crash caused by setting too many WorldObject refIds
2017-01-30 09:10:33 +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
6b9fba7885
[Server] Add script functions for getting/setting world object rotation
2017-01-29 17:38:29 +02:00
David Cernat
920c1113a3
[Server] Add script functions for setting world object placement info
2017-01-29 16:16:01 +02:00
David Cernat
2c5cc82f49
[Server] Add script functions for getting world object placement info
2017-01-29 15:29:40 +02:00
David Cernat
27ac314cb1
[Server] Add script functions for getting world object refIds & refNums
2017-01-29 13:21:41 +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
f11df211fa
[Server] Add script functions for dealing w/ WorldEvents & WorldObjects
2017-01-28 16:22:30 +02:00
David Cernat
9f1e491a75
[General] Make WorldEvents store information about multiple objects
2017-01-28 12:34:45 +02:00
Koncord
b658adf7b0
[Server] Killed another tab character
2017-01-27 21:51:13 +08:00
David Cernat
9c3a37a790
[Server] Make GetCellStateDescription's cstrDescription null-terminated
2017-01-27 14:16:27 +02:00
Koncord
1c810ecad5
[Server] Fix memory leak in GetCellStateDescription()
2017-01-27 19:05:18 +08:00
David Cernat
0ccfe66212
[Server] Send stable C string in GetCellStateDescription()
2017-01-27 08:14:27 +02:00
David Cernat
4f288ab558
[Server] Read contents of ID_PLAYER_CELL_STATE
2017-01-26 17:53:36 +02:00
David Cernat
6331c55bc7
[Server] Add colons missing from CELLAPI
2017-01-26 16:42:55 +02:00
David Cernat
2f644e9b14
[Server] Add script functions for getting info about cell state changes
2017-01-26 16:37:47 +02:00
David Cernat
70823d011d
[Server] Define CELLAPI
2017-01-26 16:16:28 +02:00
David Cernat
0cc20d26ce
[Server] Move script functions for cells to a new CellFunctions class
2017-01-26 16:10:45 +02:00
David Cernat
62f359e250
[Server] Rename Translocations into Positions
2017-01-26 15:48:47 +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
158d606477
[General] Leave one blank line at the end of every tes3mp code file
2017-01-26 06:17:29 +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
35e453dec3
[General] Sketch out most of functionality for journal saving/loading
2017-01-24 19:32: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
d308897f95
Rename PacketItems, PacketSpells into InventoryChanges, SpellbookChanges
2017-01-20 12:43:05 +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
83277a1512
Send spellbook in LocalPlayer CharGen & change UPDATE action name to SET
2017-01-20 09:07:07 +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
6b14ca0775
Finish renaming of script functions for sending items and spells
2017-01-19 18:30:31 +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
David Cernat
78c6ab2a99
Clean up client Networking by putting item & spell logic in LocalPlayer
2017-01-19 15:18:37 +02:00
Koncord
0ab02006de
Detect ARM CPUs
2017-01-14 11:17:36 +08:00
David Cernat
2e3f508a56
Fix broken default keys and enable master server in configs
2017-01-13 10:33:21 +02:00
David Cernat
253ded1ee3
Use new getFilenameStamp() method to generate timestamps for filenames
2017-01-13 08:49:21 +02:00
David Cernat
3932654d5d
Use log filenames w/ timestamps instead of adding numbers to their ends
2017-01-13 07:58:40 +02:00
David Cernat
10a0f165dd
Print paths used for server dependencies in CMake, change tabs to spaces
2017-01-12 13:45:04 +02:00
Koncord
b6f9a21d7f
Do not allow 0 update rate
2017-01-10 20:38:33 +08:00
Koncord
03a92b3a91
Use LOG_VERBOSE instead LOG_INFO
2017-01-10 20:37:40 +08:00
Koncord
01900c2be8
Use modname in Send function
2017-01-10 20:36:39 +08:00
Koncord
2b0ae7b9ca
Fix variable name in JSON
2017-01-10 20:35:30 +08:00
Koncord
e92df0c465
Implement SetModname, SetHostname functions
2017-01-10 19:22:02 +08: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
32615d05cf
Prevent allocate memory if player doesn't exists
2017-01-10 18:31:51 +08:00
Koncord
97dd8704a3
Ignore ping packets
2017-01-07 23:05:22 +08:00
Koncord
dbbdb1071c
Use default FindLua51 instead homebrew
2017-01-03 19:12:34 +08:00
Koncord
7595b33461
Implement spellbook
2016-12-29 21:19:57 +08:00
Koncord
6e6237541a
Fix "comparison between signed and unsigned integer expressions"
2016-12-21 16:13:39 +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
11be8ed005
Rename copyOldLog to renameOldLog
2016-12-18 12:48:23 +08:00
Koncord
f08ab0b161
Keep old server logs
2016-12-18 12:45:03 +08:00
U-VirtualBox-PC\Admin
6229269506
Some patches for lua on windows
2016-12-16 19:04:47 +03:00
David Cernat
35de28e239
Fix setting of longer environmental variables on Windows
2016-12-16 17:57:02 +02:00
Koncord
804259b2c9
Change some printf to LOG_MESSAGE_SIMPLE
...
printf is not streamed to files
2016-12-16 18:50:34 +08:00
Koncord
f74734cfba
Fix server crash if player is not fully connected
2016-12-16 17:53:56 +08:00
Koncord
61f7ad2f76
Add new paths for native & lua libs
...
If you want to add the native lib you should place it to {PATH_TO_MOD}/lib/
for external Lua libs: {PATH_TO_MOD}/lib/lua/
2016-12-05 23:54:29 +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
d4b5c826f8
Fix typo in spell script functions
2016-11-21 20:42:53 +02:00
David Cernat
c81b58e1be
Add spell script functions to tes3mp server
2016-11-21 20:37:04 +02:00
David Cernat
8aeb3a6cc6
Reorder script function classes in tes3mp server's CMakeLists.txt
2016-11-21 19:17:28 +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
David Cernat
7a3d490121
Rename dumps into crashdumps to make the folder's purpose clear to users
2016-11-20 19:25:55 +02:00
David Cernat
f865246955
Fix Breakpad using changes provided by Stanislav in a gist
2016-11-20 18:34:22 +02:00
David Cernat
456aee65d9
Add and implement ClearInventory() script function
2016-11-20 04:06:33 +02:00
David Cernat
7fae28ce91
Prevent RemoveItem() script function from clearing inventorySendBuffer
...
Up to this commit, the following commands in a Lua script led to the target player receiving all three items, as expected:
tes3mp.AddItem(self.pid, "common_shirt_01", 1, -1)
tes3mp.AddItem(self.pid, "common_pants_01", 1, -1)
tes3mp.AddItem(self.pid, "common_shoes_01", 1, -1)
tes3mp.SendInventory(self.pid)
This, on the other hand, only led to the removal of the last item specified (in this case, the shoes):
tes3mp.RemoveItem(self.pid, "common_shirt_01", 1)
tes3mp.RemoveItem(self.pid, "common_pants_01", 1)
tes3mp.RemoveItem(self.pid, "common_shoes_01", 1)
tes3mp.SendInventory(self.pid)
Inventory functions are bound to remain confusing, but they should at least be consistent in their behavior.
2016-11-20 03:06:04 +02:00
David Cernat
7f25abb9c8
Implement UnequipItem() script function
2016-11-18 01:50:55 +02:00
David Cernat
56928bdc4c
Clean up inventory script functions so they are usable for equipment too
2016-11-18 00:52:17 +02:00
David Cernat
356143faed
Rename GetEquipmentSlotCount() into GetEquipmentSize()
2016-11-18 00:46:42 +02:00
David Cernat
977e93288e
Add GetEquipmentSlotCount() to item script functions
2016-11-17 23:07:29 +02:00
Koncord
f5f1a29f31
Change printf to LOG_MESSAGE_SIMPLE
2016-11-18 00:35:38 +08:00
Koncord
18026d4a50
Fix include guard
2016-11-17 13:22:34 +08: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
46b41b605a
Revert "Use lowerCamelCase in tes3mp server script function names, part 1"
...
This reverts commit 0e2b589cdb
.
2016-11-16 19:28:22 +02: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
1a25434d33
Turn overlooked instance of GetCell() into getCell()
2016-11-16 17:48:39 +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
0e2b589cdb
Use lowerCamelCase in tes3mp server script function names, part 1
2016-11-16 16:52:16 +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
David Cernat
dc9b814ff6
Fix typo in server script translocations
2016-11-12 21:36:03 +02:00
David Cernat
841e93d5e0
Use new SendCell() method in server scripts to send cell packets
2016-11-12 21:27:09 +02:00
David Cernat
5b39916894
Use new SendPos() method in server scripts to send position packets
2016-11-12 21:16:05 +02:00
David Cernat
e0c88150c3
Reorder functions for server script translocations
2016-11-12 21:01:38 +02:00
Koncord
82f202c891
Implement GetAvgPing(pid) function
2016-11-04 20:15:14 +08:00
Koncord
37e9cafbf7
Add new API function: SetConsoleAllow
...
example:
tes3mp.SetConsoleAllow(pid, 0) -- disallow console to the player
The console is allowed by default
2016-11-04 03:01:26 +08:00
Koncord
6f6993255a
Fix string in breakpad()
2016-11-04 00:24:16 +08:00
Koncord
adb49b7c7d
Add New GUI dialog: ListBox
...
Example:
local GUI_LISTBOX = 42
function OnPlayerSendMessage(pid, message)
if message == "/lb" then
local items = "consectetur adipiscing elit\nsed do eiusmod tempor incididunt ut labore\net dolore magna aliqua." -- items can be separated through newline
local label = "Lorem ipsum dolor sit amet"
tes3mp.ListBox(pid, GUI_LISTBOX, label, items)
end
end
function OnGUIAction(pid, idGui, data)
if idGui == GUI_LISTBOX then
print("ID: " .. idGui .. " data: " .. tostring(data)) -- if value higher than last item id
end
end
2016-11-04 00:24:16 +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
6929cd6c4c
Delete debug about player map that is no longer needed
2016-10-30 02:30:17 +03: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
a9f6ea4d8d
Use the name "guid" for RakNet IDs so as to not confuse with int IDs
2016-10-26 15:55:34 +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
ef6f20e3f7
In server console, print number of players remaining when one leaves
2016-10-24 22:47:52 +03:00
David Cernat
24bfe40bf7
Add debug about current server crash
2016-10-24 21:17:53 +03:00
David Cernat
b2688777c1
Create marker once a player has been initialized properly and fix debug
2016-10-24 21:08:47 +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
3380c482c0
Fix errors remaining from merge with tes3mp-packetexpansion, part 2
2016-10-23 19:32:39 +03:00
David Cernat
b06a2f3119
Fix part about Breakpad in server's CMakeLists
2016-10-23 19:28:35 +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
a6467c9c47
Add breakpad to server
2016-10-23 17:07:46 +08: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
4b96080521
Make GetItemSlot work and add SendEquipment in server item functions
2016-09-30 12:30:05 +03:00
David Cernat
6650b74498
Add handling of skill increases
2016-09-30 07:15:59 +03:00
David Cernat
977b277cdd
Add missing entries for level progress functions
2016-09-30 05:08:11 +03:00
David Cernat
a0e9a672a5
Split updateClassStats in 3 and add handling of level progress
2016-09-30 04:52:21 +03:00
David Cernat
56a2c70911
Use double instead of int for skill progress functions
2016-09-29 18:13:36 +03:00
David Cernat
ae4950ce49
Add server stat functions for getting and setting skill progress
2016-09-29 17:57:26 +03:00
David Cernat
bc0aa86bcf
Make variable names more consistent and easier to understand
2016-09-29 12:05:44 +03:00
David Cernat
7a1531c01b
Fix script functions for setting dynamic stats, part 2
2016-09-28 19:41:54 +03:00
David Cernat
458bdf4dff
Fix script functions for setting dynamic stats
2016-09-28 16:40:19 +03:00
David Cernat
433190d82e
Rename OnPlayerUpdateEquiped into OnPlayerChangeEquipment
2016-09-28 15:20:23 +03:00
Koncord
94f6ab30f2
Fix GetProtocolVersion
2016-09-28 19:20:22 +08: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
9fd5ae981e
Add missing backslash
2016-09-28 07:59:53 +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
295f486a97
Using less confusing names for server stat functions, part 2
2016-09-28 02:19:39 +03:00
David Cernat
69030579c1
Using less confusing names for server stat functions
2016-09-27 17:04:04 +03:00
David Cernat
7ae9ea7465
Add server stat functions for getting attribute and skill counts
2016-09-27 15:51:10 +03:00
David Cernat
57703482b2
Fetch attribute and skill counts in server stat functions
2016-09-27 15:01:54 +03:00
David Cernat
4d7130b12f
Improve logic for script-induced cell changes
2016-09-27 11:28:44 +03:00
David Cernat
01af4f3bbc
Update position before sending cell packet
2016-09-26 17:00:09 +03:00
David Cernat
1ee2458f6e
Add packet for player levels, part 2
2016-09-26 13:19:01 +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
61c5456373
Log callbacks
2016-09-18 11:55:51 +08:00
Koncord
e661a35ac2
Fix checking strings in SetName & SetBirthsign
2016-09-18 11:55:51 +08:00
Koncord
1e48555617
Make sensitivity to protocol version
2016-09-18 11:55:51 +08:00
Koncord
fe10821528
Add loaded/isLoaded to server player
2016-09-18 11:55:51 +08:00
Koncord
df13e9c37a
Fix verbose log level in server
2016-09-18 11:55:51 +08:00
Koncord
babc3230b7
Add new functions: GetServerVersion & GetProtocolVersion
2016-09-10 13:41:23 +08:00
Koncord
64b5638d40
DIE TABS, DIE!!!!!!!1
2016-09-04 17:39:08 +08:00