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.
12 KiB
12 KiB
0.8.1
- Allow GameSettings packet to override clientside VR settings
- Include projectile origins in packets for attacking and casting, necessary for VR compatibility
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