summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2010-04-04Added packet rate limiter and flood prevention system.MadCamel5-130/+671
The idea behind this is to keep abusive clients from flooding the server. Everything from over-voracious auto pick-up to exploitation of NPC vulnerabilities is mitigated by this. It will also eventually reduce server traffic, load, and possibly lag. Config options in battle_athena.conf: packet_spam_flood (default 30) packet_spam_threshold (default 2) packet_spam_kick (default 1) Each packet type has a specified allowed incoming rate in milliseconds, if this rate is exceeded the packet is ignored. If over 'flood' overruns in 'threshold' seconds are detected, a flood is logged and a kick may be triggered depending on the 'kick' config boolean. The packet rates and flood thresholds have been tested and tweaked on a live server, this should only affect abusive clients. Only extremely abusive clients will trigger a log/kick condition. This probably obsoletes the trade and kick spam code.
2010-03-27Fix compilation of itemsearch toolJared Adams1-0/+2
2010-03-24Revert "Add new death penalty type (3) which takes a percentage of the ↵Chuck Miller1-8/+0
player's zeny" This reverts commit bf400032e3e3699c71cf4dc73a22a230a27cf837.
2010-03-24Add new death penalty type (3) which takes a percentage of the player's zenyChuck Miller1-0/+8
2010-03-24Add the moneycount toolChuck Miller5-0/+713
2010-02-21Fix trades cancelling without proper reason.No Name1-2/+2
Addresses issue introduced by d6c7054 (by me).
2010-02-21Pad server whisper name with null characters.No Name1-1/+1
Prevents server whisper name from containing other trailing data as memcpy will not check for a terminating null character in the source.
2010-02-21Cancel active trade if an item is removed from inventory.No Name1-3/+3
Modifies the previous fix to now cancel if an item is deleted from a player's inventory, including items that are used/consumed.
2010-02-21Fixed sending player's name when in a guild.Chuck Miller1-51/+32
Also changed up packet 0x0195, the client can now understand this packet
2010-02-20Do not report another player's base level.No Name1-10/+3
Modifies three packets to no longer transmit another player's base level, instead reporting zero.
2010-02-18make login-server child REALLY exit when done writing DBMadCamel2-2/+2
2010-02-18make login-server exit after DB write is finishedMadCamel1-0/+5
2010-02-12Login-server now does forked writes of accounts DBMadCamel1-17/+21
2010-02-11Re-calculate player stats when an equipped item is removed.MadCamel3-3/+3
This fixes the issue where a player could drop/trade/store an equipped item and still retain it's attack/def/etc buffs.
2010-02-06Cleaned up spamban code a little. Now logs location where ban was triggered.MadCamel2-91/+75
It still needs to be refactored more but this'll do for now.
2010-02-06Fix a memory leakMadCamel1-1/+3
2010-02-05Spellcasting will no longer trigger spam bansMadCamel1-16/+7
I ran this by fate and he had no objections. If there are problems with flooding/resource consumption we can put some rate limits in the packet handlers. (That's on my TODO)
2010-02-05Attempt to fix forking problem on platinumJared Adams1-1/+14
2010-02-04Removed auto-generated source filesMadCamel3-6220/+0
And added them to .gitignore. These three files are generated on the fly by flex and bison during the build process and should not be in the repository.
2010-02-04Write the accounts DB on a timer instead of player triggered eventsMadCamel1-45/+7
Writing the DB is resource intensive and should be done as little as possible. Putting it on a timer is intended to prevent buggy/malicious clients from consuming large amounts of resources. This patch may cause minor inconsistancies between the login and character server databases, as they are both doing delayed writes, probably on different schedules. I'm unable to see any huge consequences to this.
2010-02-02Merge branch 'master' of git://gitorious.org/tmw-eathena/mainlineMadCamel8-18/+27
2010-02-02Attempt to fix forking problem on platinumJared Adams1-1/+14
2010-01-26Added password encryption to the accounts database, removed logging of ↵MadCamel7-69/+144
plaintext passwords Will auto-convert accounts DB to new format.
2010-01-26Added password encryption to the accounts database, removed logging of ↵MadCamel7-69/+144
plaintext passwords Will auto-convert accounts DB to new format.
2010-01-19fixed a buffer overrun and use of uninitializedHelmut Grohne2-2/+2
The target buffer for the memcpy only takes like 24 chars. strcat on an uninitialized buffer is a bad idea.
2010-01-19fixed a few memory leaksHelmut Grohne3-4/+6
2010-01-19fixed a few buffer overrunsHelmut Grohne5-12/+19
strncpy does not always terminate strings. Unterminated strings (without a length) are bad. So better terminate them.
2010-01-18Attempt to fix forking problem on platinumJared Adams1-1/+14
2010-01-09charbaselvl now also performs charstreset to prevent stacking of points. ↵MadCamel1-2/+13
@setup modified for new skill system
2010-01-02Temporarily enclose astral soul modifications with ifdefsFreeyorp1-0/+6
Until the quests for this skill are available, this needs to be disabled on the server
2010-01-02Remove conflict markersFreeyorp1-36/+6
2009-12-29Fixed "maximum skill points" computationFate1-5/+33
2009-12-28Also pass a variable @itemId when running equip scriptsFreeyorp1-24/+36
2009-12-28Remove extra check when logging atcommands.Freeyorp1-2/+1
This means that atcommands called in NPC scripts will be logged regardless of whether the invoking player has @
2009-12-28Pass a variable @slotId when running equip scripts.Freeyorp1-13/+34
2009-12-26Used the "indent" C formatting program from GNU to do some clean upsChuck Miller136-82436/+101627
The command options used was: -nbad -bap -sc -bl -blf -bli0 -cli4 -cbi0 -di5 -nbc -bls -ip2 -nut -ts4 -bap -i4 -sob -npsl
2009-12-13Merge commit 'tmw/master'v2009.12.25MadCamel2-4/+4
2009-12-13Unequip items when adding to storageMadCamel1-1/+3
2009-12-02Fix map authentication responseJared Adams1-3/+3
This way,t he client will parse the duplicate login packet correctly when logging in.
2009-11-22Fix a segfault when the master of a summoned monster is not onlineFreeyorp1-1/+1
2009-11-02Allow deleting characters despite emailJared Adams1-3/+3
2009-10-29Allow players to switch characters while aliveJared Adams1-2/+2
2009-10-25Prevent auto bans from multiplyingJared Adams3-3/+15
2009-10-25Give level 99 character the GM hilight tooJared Adams1-1/+1
2009-10-15Add a tool for changing skillsJared Adams1-0/+79
2009-10-15Merge remote branch 'taw/master'Jared Adams6-22/+52
2009-10-10report job level as zeroFate1-2/+1
2009-10-10Better logging, initial job experience gathering, naming fixes to the skill ↵Fate5-31/+67
script commands
2009-10-08Merge branch 'master' of gitorious.org:tmw-eathena/mainlineFate4-30/+31
2009-10-06Merge branch 'master' of git://gitorious.org/tmw-eathena/mainlineMadCamel3-29/+30