Skip to content
Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
184 lines (137 sloc) 7.57 KB

Hybrasyl Server Changelog

This is the changelog for the server project. Releases that have names generally add fairly significant features, whereas ones without are primarily for bugfixing and other updates.

Hybrasyl Server 0.6.1

Released: March 4, 2018 - View this release on GitHub

Bug Fixes

[Fixed] #129: Staves / rings displayed incorrectly after relogging [Fixed] #130: Can't assail without casting a spell first [Fixed] #138: Who list shows users who are not logged in [Fixed] #140: Server start error due to incorrect port numbers for control service [Fixed] #142: Minor bug fixes to casting [Fixed] #143: Statuses not working under certain XML conditions / clean up XML definitions [Fixed] #144: Status duration calculated incorrectly [Fixed] #146: Statuses cannot be serialized [Fixed] #147: Inappropriate sound effects played for statuses which have no sound effects

Hybrasyl Server 0.6.0 ("Bruce")

Released: January 25, 2018 - View this release on GitHub

Features

  • Full status support (poison, sleep, buff/debuff, etc) added
  • Castable support is now complete, with the notable exception of scripted castables
  • Loot tables / loot sets implemented
  • NPCs now support learning/forgetting skills/spells, selling/buying items, and sending/receiving parcels
  • Support for elemental damage has been implemented
  • Lua scripting is now supported (IronPython has been removed entirely)
  • Cooldowns for castables have been implemented
  • Many, many, many XSD/XML updates
  • Fix packet throttling implementation
  • Full support for monster spawning with variance (stronger or weaker monster) support
  • Add support for heal/damage modifiers, reflect chance / intensity, element overrides (offensive/defensive)
  • Monsters now support a rudimentary AI for moving and attacking
  • Improved chat command support with a rudimentary plugin architecture. Also, /help now works!
  • Begin to add support for multithreaded game logic / packet handling (controlmessages only, currently)
  • Add a secondary HTTP listener for API calls for service requests (shutdown/restart server, etc)

Bug Fixes

  • All extant network bugs should be fixed - assail not working, desynched sounds, etc
  • When a significant number of monsters die simultaneously (>15) on a crowded map, a burst of server-wide lag could occur

Other

  • For ease of maintenance and use, the XML/XSD code has been integrated back into the main solution
  • Refactor how packet handling is done with flags and player conditions
  • Hybrasyl now targets 64-bit .NET 4.7
  • Death handling now uses XML config values as opposed to relying on any hardcoded configuration
  • Added a lot more packets to the new packet structure

Hybrasyl Server 0.5.5 ("Devlin")

Released: December 20, 2016 - View this release on GitHub

Features

  • Spell targeting implemented
  • Cast lines for castables supported
  • Creatures and players can now die and have OnDeath events
  • Basic player status support (such as poison, sleep, etc) implemented
  • Monster spawning support implemented (regularly spawning new creatures in an area, using spawngroups)
  • Castable support is mostly implemented; 0.5.6 will complete the implementation (NPC learning / forgetting skills, proper directional usage, etc)
  • Skills and spells are now movable on the client pane
  • Use skill / use spell handlers implemented

Bug Fixes

  • National support for spawn locations fixed / updated
  • Two-handed equipment should now properly prevent a shield from being equipped
  • Two-handed flags on items should work as expected
  • Items allowing negative stats / HP / MP now fixed
  • Assail now properly uses the sound from the first assail in your list

Known Issues

  • Server socket state can sometimes get a little wonky which can require a restart. We're working on it.
  • Client sometimes cannot login again after logging off.
  • Packet throttling is disabled pending reimplementation. This means you can spam attack things at the moment, and also is related to the socket state issues.

Required SDK Version: at least 0.5.5.17

Hybrasyl Server 0.5.2 ("Dar")

Released: June 6, 2016 - View this release on GitHub

Features

  • Implement usage support for items. Items now respect their XML definitions for usage. For instance:
<item>
<use consumed="true">
<teleport x="3" y="3">Test Village</teleport>
<playereffect mp="50" hp="50" xp="50" gold="50"/>
<effect id="3" speed="1"/>
<soundeffect id="6"/>
<scriptname>mycoolitem.py</scriptname>
...
</item>

Any of these use cases can be combined with one another, opening up a lot of possibilities for item scripting.

  • General concept of healing (increasing player/creature HP) implemented.
  • Python API scripting now supports damage/healing/etc.
  • Legend marks implemented, along with Python scripting API that can be used by in-game scripts to manage marks.
  • Example NPC script added, to help users who wish to learn more about the Python scripting API. Documentation is coming - we promise.

Bugfixes

  • Item quantities are now appropriately displayed in the exchange window.
  • Level and experience overflows corrected, maximum level is now set as a compile-time constant (Constants.MAX_LEVEL) and defaults to 99.
  • Item bonuses (AC, magic resistance, etc) are now correctly recalculated at login (thanks to @woghks123 for reporting this issue).
  • README updated.

Hybrasyl Server 0.5.1

Released: May 30, 2016 - View this release on GitHub

Features

  • Sample XML data updated.
  • Documentation updates.
  • Added support for server (Aisling) time.

Bugfixes

  • Bug fixed where the server would write out incorrect XML, causing the login/world port to be the same.

Hybrasyl Server 0.5.0 ("Riona")

Released: May 23, 2016 - View this release on GitHub

Features

  • Redis is now a requirement, and is used for storing state data such as users, board posts, and mailboxes.
  • All world data is now read in from XML files. A new integration library (called, appropriately, SDK) has been created to manage the parsing, validation and writing of XML files.
  • As a result of the above, the server no longer uses MySQL, and all references / dependencies for it have been removed.
  • Thanks to Michael Norris (@norrismiv), we now have a new launcher, which displays news and should support a lot of new features in the future.
  • Several item, item display and exchange bugs fixed.
  • Experience implemented in a real way (with leveling support).
  • Nation support (citizenship) implemented, along with logging in to expected spawn locations (national spawnpoints).
  • Character info panel now functions as expected.
  • Mailbox / forums fully implemented.
  • Grouping support implemented.
  • Unique / unique equip item flags, negative weight, master restrictions implemented.
  • Networking stack completely reimplemented using async sockets with separate send/receive threads.
  • Beginning of skill/spell implementation - /skill will give your character a skill. Still a lot to be done here.
  • Assail / spacebar support for assail implemented.
  • The beginning of spawning support has been implemented. Unfortunately, at the moment, this simply means that wolves and bees have infested Mileth.

Bugfixes

  • Poor, long-suffering Riona in Mileth, critically wounded in a prior release, will now respond to Aislings again. x
You can’t perform that action at this time.