v20.7.6
- fix script commands sometimes not returning values when they're expected to
v20.4.18
- allow GM command logging to be silenced for specific commands
v19.8.26~
- fix the errors that prevented compiling with musl-libc (now fully compatible with Alpine)
- increase the level cap to 135
v19.8.26
- fix a regression introduced in v19.8.23 that prevented slaves from attacking
v19.8.23
- allow summoned mobs to use skills
- allow to summon more than 1 mob with @summon
v19.4.15.1
- a few refinements to automod
v19.4.15
- add a way for GMs to prevent players from sitting on them
- add a built-in way to delay gm log messages (to avoid relying on an external timer)
v19.1.10
- completely remove the fifo queue in login server
- limit the number of requests and idle sessions in login server
v18.12.30
- Fixes a very old login/char authentication exploit
- Fixes the double login kick exploit
- Improves logging in login and char server
v18.12.18
- add packets that tell ManaPlus to update player HP
v18.12.13
- add support for sending player HP to manaplus
v18.11.11
- add support for the online list packets
v18.11.10
- don't display (GM) for non-60 gm levels in the txt online list
v18.6.19
- automatically fix corrupt parties on boot
v18.4.5
- make login server send auth data to char server witout waiting
- fix a race condition in login server
- make the server send keepalive (pong) packets to inactive sessions
- make the server kill sessions after 5 minutes of being inactive
v18.3.23
- fix npc softlock ("freeze") on destroy
v18.3.22
- don't iterate over hidden players with @hugo
v18.3.11
- fix custom mob name handling
- fix out-of-memory reads
- don't send useless info for bots
v18.3.5
- send the base level of players in visible/update1/update2
- fix a bug introduced by 1c5159c & d0ea549 (gm command hierarchy)
- ignore phony npc event calls (~), used to uniquely identify mobs
- send a name request reply (even without the client making a request) for custom mob names
- update the travis build matrix and fix gdb tests
- fix a bug that makes the player look alive when warping while dead
- don't send real gm levels to old clients, follow-up on v18.2.17
v18.3.3
- added a missing null pointer check in npc_event
- added yet another missing vector include
v18.2.17.1
- fix a few compilation errors
v18.2.17
- fix players sometimes facing the wrong direction after magic attacks
- fix attoconf build
- allow to change GM level on-the-fly, from scripts
- send GM levels to the client (not just 128)
- hide (GM) in the online list of the gm level is hidden
v18.1.29.1
- fix the previous release *facepalm*
v18.1.29
- added missing nullpo checks in script commands
v18.1.28
- fixed issues with magic weapon overrides
v18.1.23
- fixed a crash that happened when trying to create item id 0
v18.1.3
- remove mob timers (unused)
- properly clear timers of all npcs (not just script)
- add @setleader
v18.1.1
- increase party limit to 120
- add a command to change party leader
v17.11.12
- fix a bug that did not decrease the npc counter on npc despawn (REDUX)
v16.11.28
- revert v16.11.9
- force sending the .gat extension in SMSG_SET_TILES_TYPE
v16.11.27
- implement SMSG_SET_TILES_TYPE
v16.11.9
- fix a bug that did not decrease the npc counter on npc despawn
v16.5.12
- add target argument to the getmap() builtin
- make builtin overrideattack dumber; make scripts handle the logic
- make builtin aggravate dumber; make scripts handle the logic
- send 0 for param HP when player is dead, even if player has hp
- revert attachrid modifications (temporary measure, please avoid attachrid)
- add target argument to the addtimer builtin
- add target argument to the foreach builtin
- use pc_heal when changing hp using params
- add MUTE params (global mute, party mute, whisper mute, guild mute)
- don't allow to talk when muted
- allow to use custom commands (ie magic) in whispers and party
v16.4.25
- check for null pointers in the new/modified builtins
v16.4.24
- make tmwa use resave mapflags when you die in a pvpon map
- make the `get` builtin silently ignore errors
- allow to set params in mob/npcs (only some params so far)
- explicitly check that the parent still exists for puppets
- add INVISIBLE and HIDDEN params
- add missing null pointer check in builtin_close
v16.4.21.1
- send client version from map server to char server when switching char
v16.4.21
- use the client version sent to login server, ignore client version sent to char server
- allow remote execution for newer clients (protocol 6+)
- implement SMSG_SCRIPT_MESSAGE, add smsg builtin
- implement SMSG_PLAYER_CLIENT_COMMAND, add remotecmd builtin
- add builtin areatimer
- add builtin foreach
- add builtin aggravate
- add builtin overrideattack
- add builtin injure
- add builtin summon
- add builtin getdir
- add builtin addnpctimer
- add builtin get
- add builtin chr
- add builtin ord
- add builtin void
- add builtin getarg
- add builtin call
- remove magic-v2, keep sexpr parser
- implement puppet npcs
- add scope variables
- add npc variables
- expose some more params
- remove MESSAGE npc subtype
v16.4.8
- fix pvpoff
- broadcast map pvp status on pvpon/pvpoff
- send nick to self in chat messages
v16.4.3
- add player nicks back to messages
- prevent remote execution exploit (ManaPlus)
v16.2.9
- make crashes a (tiny) bit more verbose
- fix @pvp broken nick problem
- add third gender
- allow to not allocate stats on char creation
- move gender from account to char
v15.11.23
- Remove warp name from warp script headers, auto-generate warp npc name
v15.10.01
- Make travis use the container-based builds
- Update the travis builds to use newer clang and gcc
- Fix attack path detection
- Add some missing pc_isdead checks to mobs (aka "mob freeze" bug)
- Fix "warp mob freeze" bug
- Fix how summoned mobs behave when their master leave (the summon+leave trolling)
- Stop looking for the next victim on the map for mob deaths (aka the "pumpkin failover" bug)
- New builtins: elif, else, if_then_else, explode, max, min, sqrt, cbrt, pow, average, array_search
- Fix crash when doing clif_damage on undefined_gat
v15.8.17
- Fix Broken Nick Issue
- Change write to send
- Mob Movement
v15.7.06
- another fix for "do not count hidden players with getmapusers builtin"
v15.7.05
- fix for "do not count hidden players with getmapusers builtin"
v15.6.30
- a few modifications to make tmwa compatible with gcc 5
- send pvp channel and rank to client
- don't segfault when inserting remote maps into DB
- do not count hidden players with getmapusers builtin
- do not reset the default (1) pvp channel on death
- fix a bug that allowed to attack with magic players that are not in the same pvp channel
- add builtin "title"
- add builtin "mapmask"
- add mapflag "mask" (and remove legacy "noicewall" mapflag)
- add builtin "npcaction"
- add builtin "music"
v15.5.23
- really send mob hp properly
- add more debug with abort vs. runflag
v15.5.19
- check client version in login server
- make npcs sit-able
- send mob attack range
- send mob hp properly
- send npc sex
- add builtin setnpcdirection
- make packet SMSG_BEING_VISIBLE follow manaplus spec
- make packet SMSG_BEING_MOVE follow manaplus spec
v15.5.18
- reject old incompatible clients
- check client version before sending quest data
- send mob hp to client
- send mob walk data to client if client version >= 3
- remove "Save" and "Random" special map names for the warp builtin
- remove unused pc_randomwarp
- remove builtin getitemname in favor of builtin getitemlink
- remove builtin getequipname in favor of getitemlink combined with getequipid
- remove item labels
- remove OnInterIfInit event handler
- remove OnCharIfInit event handler
- remove long deprecated tmwa-monitor
- allow to specify npcs in timer-related builtins
- make the script engine more strict and die on errors
- completely deprecate invalid npc id -1 in favor of id 32767
- remove the motd in favor of one provided by server-data
- make the message about the source code location be sent to General chat tab instead of Debug
- remove leftovers from deprecation of atcommand gm
- reset the status both on death and on respawn
v15.5.04
- remove check for pk_mode for mapflag NOPVP
- remove atcommand gm
- add atcommand npc
- remove builtin readparam
- remove builtin statusup2
- remove builtin changesex
- remove builtin gmcommand
- add builtin wgm
- add builtin gmlog
- do not force disconnection after sex change
- add new parameter to builtin emotion
- remove braces and jname from getitemlink
- add quest log
- add sanity check to freeloop
- add OnPCLoginEvent handler
- some typo fixes and rewording
v15.4.20
- make spam warnings appear in General chat tab
- add builtin getnpcx
- add builtin getnpcy
- add builtin pvp
- add builtin getpvpflag
- add builtin strnpcinfo
- remove builtin cmdothernpc
- remove builtin killmonsterall
- remove builtin percentheal
- remove builtin itemheal
- modify builtin heal to include itemheal
- remove atcommand killer
- remove atcommand killable
- remove atcommand charkiller
- add atcommand pvp
- add atcommand charpvp
- add atcommand exprate
- remove warp debug (npc 722)
- add support for emote IDs over 100
v15.2.28
- Added Freeloop
v15.1.23:
- update changelog for this and last release
- segregate per-server global variables
- use namespaces for every server
- generate all config parsers
- support fine-tuned per-version sections in config files
- track spans for config parsing
- remove deprecated config settings
- fuck adl
- error out (after global ctors) if someone is dumb enough to run as root
- really fix shop prices
- add gcc 4.9 on travis
- use an uglier bug more reliable macro for MATCH
- fill the house with dancing elves, it is the xmas season
- workaround the clang bug preventing shared libraries
- fix clang 3.5 builds (previously only 3.4 worked)
- fix infinite loop in previous release
- flatten protocol generator and add pre/post/desc digraph and wiki
- new script builtins: npcareawarp, iscollision
- use manaplus url format
- fix nightlies
v14.11.11:
- avoid this release at all costs
- fix an obscure bug breaking asan
- add new way of checking for mapless events
- fix off-by-one overflow with too many script arguments
- more script debugging in python instead of in the executable
- attempt to fix shops
- eliminate buggy microoptimization with sc_count
- fix crash with divorce
- parse npcs and items into an ast first
- simplify nightly cross-builds now that there's a defaults package
- semiformalize the concept of "ranked" directories of headers
- convert readme to markdown
- fix bugs caused by using more Option<T>
- bump clang version on travis
- various build system improvements to build more, smaller, files
- pretty-print pointers by symbol/segment
- move more stuff to Option<T>
- split parsing functions into their own files
- get rid of crazy 2-based arrays for script arguments
- finish removing offhanded weapons
v14.10.5:
- fix the stupid refactoring bug with mob slave summons
- officially drop support for clang, all versions are too buggy
- implement Option<T> and Borrowed<T> with tests, but don't use them yet
- rename enum Option to Opt0 to move it out of the way
- add support for static libraries (clang is being retarded again)
- critical fix for the bug in parties (thanks Rawng)
- add support for cross-builds to the buildbot script
- fix a refactoring bug in magic
- fix an exposed bug in the magic 'dir_towards' function
- fix an exposed bug in char-server whispering
v14.8.29:
- fix testsuite
- add missing changelog
v14.8.28:
- stop meko from crashing the test server
- support updating race without relogin (manaplus is still bitchy)
- build infrastructure to debug debug scripts
- bust up all the unions
- burn the strings with fire
- use more namespaces
- safety-pin all enum -> integer conversions
- check for statement/function mismatches in scripts
- quieten the makefile when doing nothing
- use/check more of the configured build dirs
- support shared libraries in build system and rpath
- bump attoconf
- implement 'make bindist' and write a blessed nightly script
- revert breakage, go back to signed numbers
- fix compile failure with --disable-warnings (the default, but no CI)
v14.7.1:
- avoid this and the previous release at all costs
- keep one less rotating backup to avoid going insane
- attempt to fix signedness breakage from the network change
v14.6.30:
- packet names (thanks evets)
- silence secondary output from tests
- port the variant
- fix anti-purge thing by giving every account a date
- prevent null session crash during shutdown
- specialize inventory/storage indices to avoid out-of-bounds
- don't crash when giving invalid ID to @item
- play with obscure corners of the C++ standard that no one can interpret
- replace hand-coded network protocols with generate ones
- lots source layout and formatting cleanup
- faster dependency calculation
- strict ids (yay less bugs, boo account/block entanglement)
- beginning of integers
- support libc++ (experimental)
- drop gcc 4.6 support
- completely remove flex/bison dependency
- fix duplication in npctalk
v14.4.20:
- fix potential file corruption with partial writes
v14.4.19:
- emergency backport of security fix, since v14.7.1 is too buggy
v14.4.18:
- fix some fatal bugs related to logout in the previous release
- fix out-of-bounds in trades exposed in the previous commit
- fix use-after-free when player is kicked with a delay
v14.4.9:
- fix tarball timestamps
- added all missing copyright notices
- use AGPL for my new files; add @source command and makefile support
- fix a multiline span assertion missed by the testsuite
- @tee no longer duplicates the speaker's name
- fix @npcmove between blocks
- fix out-of-bounds crash when unarmed (exposed by shrinking character)
- bounds-checks for most arrays
- lots of deprecation warnings in the script parser (sorry)
- finally merge wushin's "local savepoint override" patch
- new magic frontend with sexpr; temporary converter
- if doing nothing, stop doing anything
- script variables of all types can now be used by magic
- flexible mapflags
- split out the character keys for better paging (network ABI change)
- lower priority for background processes
- add a more efficient string for temporaries
- make build prettier
- strictify sessions and fds
- recover nonexistent party member slots
- remove the middle makefile
v14.1.27:
- new tracking IO for better errors
- Unified config parsing! This *requires* new config files in server-data
- reimplement shared string better
- fix IO-related abort during shutdown
- fix the numbering of certain map logs
- add mapexit script command, since @mapexit doesn't work without a player
- start enforcing code format automatically
- add debug printers
v13.11.24:
- don't consume spell components when under @hide
- tmwa-admin no longer logs passwords in cleartext
- tmwa-admin help slightly fixed (still terrible)
- make tmwa-finger work for tmwa-map also
- allow setting class
- I/O rewrite
- allow checking whether arrows are equipped
- more printers
v13.10.31:
- make debug printers more compatible with older systems
- fix account creation with ladmin
- fix building out of tree
v13.10.29:
- show MOTD in a way that works
- ignore hidden GMs in more scripts
- make @hide persist without crashing
- rewrite @help and other dispatch
- fix totally broken status_option, which caused GM invisibility to fail
- add @charkiller
- make @hide to persist
- flush the GM log all the time
- add debug printers
- use config for internal server userid/passwd instead of accounts.txt
This requires updated config files in the data repo.
IF YOU DO NOT UPDATE THIS, YOUR SERVER WILL NOT WORK.
- fix reversed error condition in ladmin changesex
- actually kick the player when their sex is changed by a script
- implement 'make dist'
- fix crash due to logging after log is closed
v13.10.2:
- remove some asserts that shouldn't fail, but do anyway
v13.9.31:
- don't show different GM level types, it breaks guildbot
v13.9.30:
- streamline release process
- fix drop order assignment
- show different GM level types in online list
- remove logging of failed whispers (successful ones were never logged)
- fix some warnings
v13.9.29:
- fix monster elements
v13.9.28:
- also make login server startup much faster
- fix turning right
- fix pathfinding a bit
- fix a small part of ladmin help
v13.9.27:
- fix a bug with trades
- make char server startup much faster
v13.9.21:
- With the new Makefile, the binary names have changed. Instead of
login-server, ladmin, etc., they are now tmwa-login, tmwa-admin, etc.
(properly namespaced). Please remove any instances of the following
files from your system: ladmin, login-server, char-server, map-server,
eathena-monitor, deps.make
- Fix statup2 not actually doing anything.
- Add 'return' to the list of script commands that don't work properly
inside an 'if' statement.
v13.9.12:
- Also allow "true" and "false" as boolean values in config files.
- The format of lan_support.conf has changed slightly.
If you have made any adjustments, you MUST update it.
- Increase maximum size of a script array from 128 to 256.
- Fix scissors bug.
v13.8.28:
- First release - finally cleaned up enough to feel good about.
- For a partial list of changes since branch 'unsupported', see
http://forums.themanaworld.org/viewtopic.php?f=2&t=17670