You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openmw-tes3mp/tes3mp-changelog.md

214 lines
12 KiB
Markdown

0.8.0
-----
* Synchronization of custom records for interior cells, allowing for on-the-fly creation of entirely new interiors or ones based on existing interiors
* Synchronization of custom records for clientside scripts, allowing for on-the-fly creation or overriding of MWScripts
* Synchronization of custom records for containers, doors, activators, statics, ingredients, apparatuses, lockpicks, probes, repair tools, lights, body parts, sounds and record-based game settings
* Synchronization of clientside local variables based on which clientside scripts are set to be synchronized by the server
* Synchronization of clientside global variables based on rules defined for each one in the server scripts, with the possibility of also creating new clientside globals on-the-fly
* Synchronization of active spell effects for players and actors that no longer relies on players witnessing the spellcasting associated with the effects
* Synchronization of death animations for players and actors
* Synchronization of merchant inventories and gold pools
* Synchronization of environmental sounds made by players, e.g. when picking up or dropping items, when opening or closing chests and doors
* Synchronization of plant harvesting from herbalism mods
* Reworked attack synchronization with more precision, fixing skipped attacks for creatures with fast attack animations and making melee attack animations not depend on the direction a player or actor is moving in on the current client
* Reworked spellcasting synchronization, fixing improper failed spellcasting for actors with fast casting animations and reducing desyncs by not tying spellcasting for non-local actors and players to their animations on the current client
* Reworked equipment synchronization for players with less spammy packets
* Packet for resetting interior and exterior cells on-the-fly
* Packet for setting players as allies so they don't break each other's stealth and so their companions don't fight back when attacked by mistake
* Packet for overriding cell destinations, useful for moving players to instances of interiors instead of regular interiors
* Packet for tracking hits received by objects
* Packet for tracking dialogue choices selected by players
* Packet for tracking the cooldowns of powers used by players
* Allow GameSettings packet to override clientside game settings
* Allow custom records to override AI services for NPCs, alarm and flee values for NPCs and creatures, as well as scales, blood types, soul values and attack damage for creatures
* Fix freezes related to having too many players in a single interior cell
* Fix packet spam from some situations where actors start fights with players during dialogue
* Fix ObjectActivate packets not being sent when picking up items from inventory screen
* Fix ObjectDelete packets not being sent when non-container items are purchased from merchants who own them
* Fix PlayerItemUse packets not being sent when using quick keys
* Fix ConsoleCommand packets being ignored when sent by the server without a cell being associated with them
* Fix desyncs caused by late-arriving ActorAuthority packets by sending the packets to everyone on the server instead of only the players who have the associated cell loaded
* Fix indexes used when synchronizing the unassigning of quick keys
* Fix stealing being ignored when using Take All on owned containers
* Fix guards ignoring fights between players and other guards
* Prevent players from attacking while in persuasion dialogues with NPCs
* Prevent players from sending DoorState packets when not logged in
* Prevent NPCs from saying their dying words if they have been loaded up as dead from the server
* Prevent players and actors from playing their equipping sounds when they are first encountered
* Alleviate actor-related desyncs by not ignoring an entire packet when one of the actors referenced in it cannot be found
* Track kills caused through spell effects that do damage over time
* Track uses of the console by players
* Add serverside script functions for saving the identities of summoners
* Implement hashing for player passwords
0.7.0
-----
* Synchronization of custom records for spells, potions, enchantments, creatures, NPCs, armor, books, clothing, miscellaneous items and weapons
* Synchronization of weather
* Synchronization of world map exploration
* Synchronization of spells cast through items
* Synchronization of player reputations
* Reworked attack synchronization now accounts for "cast on strike" enchantments, knockdowns and projectile speeds
* Reworked container synchronization that relies on server approval of every container change
* Reworked object synchronization that relies on server approval of every action on objects and tracks whether actions originated from regular gameplay, the console or from ingame scripts
* Reworked time synchronization that preserves ingame date and does not allow for any unilateral clientside time changes
* Reworked summoning synchronization that prevents duplicate summons and retains summon durations
* Reworked inventory, equipment, attribute, skill and dynamic stat packets that are sent more often while containing minimal instead of maximal data
* Packet for activation of objects
* Packet for using items in inventory
* Packet for actor AI
* Packet for actor deaths, used to track their killers
* Packet for overriding collision on objects
* Packet for setting momentum of players
* Packet for saving and loading marked locations and selected spells
* Player scales and disguises as creatures are now included in shapeshift packets
* Soulgem souls are now included in item and object placement packets
* Physics framerate caps and enforced log levels are now included in game settings packets
* Journal entry timestamps are now included in journal packets
* The value of the OnPCDrop variable for player-placed objects is now preserved by being included in object placement packets
* Video play packets no longer have hardcoded synchronization
* Death packets now include clear information about the killers, and deaths through spells are no longer treated as suicides
* Inventory packets no longer include bound items, preventing them from becoming persistent upon quitting
* Fix broken check in equipment synchronization that was preventing throwing weapon synchronization from working
* Fix rare inability to start up game caused by use of potentially invalid pointer for storing cell unloads
* Death as a werewolf now removes status as known werewolf, to prevent infinite aggression from NPCs
* Death as a criminal now prevents witnesses to previous crimes from continuing combat
* Players are now kicked from the server when failing to reply to its handshake
* Players can no longer open up their rest menu before logging in
* NPC followers now follow players correctly from interiors to exteriors and vice versa, and are able to follow non-authority players
* NPCs can now start combat through dialogue with non-authority players
* The console window now displays the unique index of a selected object
0.6.2
-----
* Packet for quick keys
* Packet for player sounds
* Packet for player animations
* Packet for console commands
* Enchantment charge values are now included in item and object placement packets
* Settings packet can now be used to separately enable or disable resting in beds, resting in the wilderness and waiting
* Changes in attribute and skill modifiers now send their respective packets
* Attribute and skill packets using 0 as a modifier can now remove all attribute or skill fortification effects from a player
* Completion of vendor trades and skill training now sends inventory packets
* Item drag and dropping is now finished when arrested or when moved to another cell by the server
* Window minimization no longer pauses the game
* Actor speech captions are now searched for in dialogues instead of being sent in packets
0.6.1
-----
* Record player positions before their last cell change
* Remove inertia from players who are teleported via a packet
* Fix data loss caused by server packets attempting to add invalid items, spells and quests
* Fix client crashes caused by items with state disabling scripts, as well as their side effects of making players disappear to others
* Fix server crashes caused by improper interior initialization when exterior 0, 0 is loaded
* Fix server freezes caused by infinite topic packet spam from local scripts
* Fix spell casting probability synchronization
* Prevent players from using excessively long names
0.6.0
-----
* Synchronization of NPC & creature positions, stats, equipment, speech, attacks, spells & animations
* Reworked server browser with major stability fixes and additional information about servers
* Synchronization of client & server plugins (non-automated)
* Synchronization of leveled & summoned creature spawns
* Synchronization of rotation animations
* Synchronization of journal entries
* Synchronization of faction ranks, reputation and expulsion states
* Synchronization of dialogue topics
* Synchronization of kill counts checked in quest progression
* Synchronization of trap states
* Synchronization of object states (i.e. whether they are enabled or disabled)
* Synchronization of player werewolf states
* Synchronization of time of day
* Packet for saving and loading of read skill books
* Fix to messagebox buttons for client scripts
* Fix to synchronization of object locking/unlocking
* Packet for jailing players
* Packet for setting the difficulty for each player
* Bandwidth optimization for all packet types
* Various fixes to client & server crashes
0.5.2
-----
* Fix to server crash caused by not deleting empty cells upon players disconnecting
* Fix to client freezes caused by invalid spells and races
* Fix to players not being spawned when using other base master files
* Fix to visual glitch where flying players bounced up and down continuously
0.5.1
-----
* Fix to server crash caused by incorrect cell comparison added by bandwidth optimization changes
* Fix to server browser freeze caused by connection failures and incomplete data received from master server
0.5.0
-----
* Server browser
* Synchronization of containers
* Reworked world packets allowing for the saving and loading of world state, including container state
* Bandwidth optimization by forwarding the most frequent player packets only to other players in the same loaded cells
0.4.1
-----
* Packet for saving and loading spellbooks
0.4.0
-----
* Synchronization of spells
* Packet for saving and loading inventories
* Being in a menu no longer prevents you from sending packets about your client
* Fixes to freezes and problems caused by players moving around in cells from expansions/plugins that are not loaded by others
0.3.0
-----
* Synchronization of world object removal, placement, scaling, locking and unlocking
* Synchronization of local, global and member script variables for specific scripts
* Synchronization for the setdelete, placeat, setscale, lock and unlock console commands
* Player markers on minimap
* Death reasons in chat
* Fix to client freeze related to players logging in at the same time
* Fix to server crash related to sending information about invalid players
0.2.0
-----
* Packets for saving and loading classes, birthsigns, dynamic stats, levels, level progress, attribute bonuses from skill increases and progress towards skill increases
* Version checking to prevent mismatches between clients and servers
0.0.1b
------
* Synchronization of attributes and skills
* Fix to memory leaks related to player initialization on Windows servers
* Fix to various graphical glitches
* Main menu buttons for starting, saving and loading games are now disabled
0.0.1a
------
* Combat animation
* Synchronization of melee and ranged (bow, crossbow, throwable weapons) combat
* Synchronization of health, magicka, fatigue and death
* Synchronization of cell changes
* Server-side Lua scripting
* Chat
0.0.1
-----
* Initial networking and packet architecture
* Synchronization of player character generation
* Synchronization of player position
* Synchronization of player attack states (unarmed, armed with a weapon, using a spell)
* Synchronization of movement and jump animations