EOSERV is an Endless Online server emulator project, and also the home of many Endless Online related projects.
From today EOSERV now links to the MariaDB Client Library, in place of the MySQL Client Library. MariaDB provides a connector library that is compatible with MySQL, and released under a more permissive license.
EOSERV has been distributed under the zlib license, however due to being linked to the MySQL Client Library, may be subject to the terms of the GPLv2, which forbids distributing modified versions without also making the source code available.
Any closed-source distributions derived from EOSERV using the MySQL Client Library are encouraged to cease distribution of any release bundled with the MySQL Client Library.
As the sole copyright holder of all of the source code in EOSERV, and exemptions provided by MySQL's FOSS License Exception, I believe that EOSERV 0.6.2b and the main-line code starting from revision 437 onwards are free from the requirements of the GPLv2 and may be re-distributed without the requirement to release your source code, or any other restriction of the GPLv2. I strongly recommend reading the full text of the LGPL for any other requirements on redistributing the libraries bundled with EOSERV.
You may obtain a copy of the MariaDB Client Library from https://downloads.mariadb.org/client-native/
EOSERV 0.6.2 has been re-released as 0.6.2b with no changes other than the replacement of libmysql with libmariadb. You can obtain it from the Downloads page, or check out the source from SVN (svn://eoserv.net/eoserv/tags/0.6.2b).
Auto-login ("Remember me") has been changed to apply to all sections of the website, to avoid having to log in to the forum/wiki/bug tracker separately. Password security has also been upgraded, it's recommended to log out and in once to make sure your account is protected.
To avoid any problems with auto-login possibly failing to work, please delete all cookies (or just the one called "autolog") set by eoserv.net (just this once) after you log out. The old autolog cookie has an expiry date of 10 years and a domain set to '/forum/', '/bugs/' or '/wiki/', and the new one is set to 3 years with the path '/'.
If you have issues accessing your account, send me an e-mail.
To whoever cares about the details: The entropy source and hash algorithm has been changed, and the key-derivation iteration count increased.
The libmysql and sqlite3 libraries have been updated to much more recent versions, and the third-party licenses combined in to one file with the version numbers made clear.
- MySQL databases work (MySQL was broken in the 0.6.1 binary release)
- The server should be a lot more stable with SLN check-ins enabled
- The timer system should be able to cleanly handle the 49.7 day tick count rollover in Windows
- Admins can no longer use $setadmin to promote people higher than them
- EOSERV should never allow for item duplication in the case of a crash if TimedSave is enabled (now enabled by default)
- Random corruption on the online player list has been fixed
- Quest GotItem and LostItem rules are triggered at the right time
- Spells cast on NPCs actually drain TP now!
- Spells are cast using the correct timer (twice as fast)
- Attacks and spells not working at a certain time of the day has been fixed.
- An unknown quest state on login no longer wipes out the quest record
- $rehash no longer crashes a server with arenas
- $remap no longer breaks the connection of all players on the map
Other changes and fixes include:
- New $book and $paperdoll commands to view people's book/paperdoll remotely
- [WRN] messages are no longer written to error.log, and error.log output is copied to the console
- $repub has been replaced with a simple message for everyone to log out and in again, rather than trying to send out updated files.
- It's impossible to ghost people on arena tile specs
- Reloading a map no longer resets the arena kill count
- Arena victors are now detected and warped out
- Arena no longer showing blank " was killed by " messages
- $info now shows the target's name
- $setX commands can no longer be used on players with a higher admin level than you
- $jail actually works rather than kicking the victim
- $mute will announce if SilentMute is disabled
- Admins below HGM no longer have an admin command flood limit
- #nowall can be correctly enabled for light guides
- HP is capped when removing Max HP boosting gear
- Guild messages show correct names instead of #ERROR#
- Logging in where a chair no longer exists will force you to stand you up
- NPCMovementRate config option to tune the 6 NPC movement speeds
- PacketRateFace, PacketRateWalk, PacketRateAttack config options to tune the anti-speed delays (or set them to 0 to completely disable them)
- A non-combat NPC hit by an admin with the killnpc privilege will be forcefully killed, and can't become aggressive
- You must unsubscribe from a town before subscribing to a new one
- AllowStats now functions correctly, letting WebCP work with SLN disabled
- EOSERV will check in as soon as it can after getting a "Too early" SLN reply
- Database connection info is displayed
- Incompatible versions of libmysql/sqlite3 will stop EOSERV from starting up
Now open for business. See the link at the top of the page. =]
If you want be sure a bug or feature request gets my attention, make sure you post it there. It should also motivate me to actually do them so I can mark them off.
A small update to EOSERV to fix a few things:
- The quest-related problems listed at the bottom of the announcement for 0.6.0 have been fixed
- Some new quest functions listed on the Quest Reference page
- if/else support for quests (example below)
- Sending of pub/map files over 32.7kb works correctly
- A few various small fixes
This is the first version using a newer version of libMySQL, so report any issues.
if IsGender(0) GiveItem(146) // Leather Armour
else GiveItem(143) // Scale Armour