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
[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
- 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,
- 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)
- 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
- 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
- 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
- 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
- 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
- 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.
- 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).
Hybrasyl Server 0.5.1
Released: May 30, 2016 - View this release on GitHub
- Sample XML data updated.
- Documentation updates.
- Added support for server (Aisling) time.
- 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
- 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.
- Poor, long-suffering Riona in Mileth, critically wounded in a prior release, will now respond to Aislings again. x