Age | Commit message (Collapse) | Author | Files | Lines |
|
* Replaced toupper/tolower in ladmin by TOUPPER/TOLOWER defines.
Shortlist:
It's a list of sockets that have data to send and/or are ready for eof processing.
It aims to reduce the amount of time spent on do_sendrecv, where it was spending ~13.5% of execution time on a server with 1k users at WoE.
thanks to Buuyo-tama for the profile info and code
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10506 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Minor documentation/re-coding in chat.c.
* More work on ticket #41.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10471 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added vs8 project file for ladmin
- Replaced all occurences of printf in ladmin.c with ShowMessage
- Fixed ladmin working with ips using the wrong byte orer
* Fixed @jumpto displaying the incorrect player name
* Added more safeguards to socket.c against socket ids out of range
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10409 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Adjusted the packet_db array for a more consistent look
- Reorganized some entries in packet_db.txt
- Fixed a small scripts_custom.conf typo
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10296 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10238 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
Fixed Makefile (-Wno-unused-parameter was added twice with gcc4)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10205 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- adjusted code so that it handles mingw-specific compatibility problems
- adjusted the makefile, mingw is not a subset of cygwin
* As an experiment Corrected many /W4 warnings on the txt login server
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10192 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Removed a bunch of unused stuff
- Moved SIGILL to unix-only defines since tests and docs show that Windows doesn't issue SIGILL
- Fixed several annoying compilation warnings
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10177 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Major edit to the way the servers handle ip addresses, making them obey the "host byte order inside, network byte order outside" rule
- hopefully covered all entry- and exit-points for IP address data
- discovered several places where Gravity's client breaks the convention, will need to come up with a suitable countermeasure for that
- other than that, the code should be portable, except for printing and ipban mask testing (those still assume a specific byte order)
- tested both txt and sql in all usual situations; tested single- and multi-server setups, all seems to work (but watch out for hidden bugs!)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10162 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Fixed the badly worded messages during mapserver startup
- Cleaned up socket config reading
- Split resolve_hostbyname() into 2 separate functions for clarity
- Moved the probably obsolete LOWER/UPPER macros to db.c (TODO: remove)
- Moved the badly placed compare_item() function to storage.c (see r779)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10119 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
the 'set offline' timer.
- connect_client will no longer accept connections when their number is greater than FD_SETSIZE to prevent crashes on packet parsing.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10110 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
separation between entering sight/leaving sight/walking in sight is done.
- Propagating const char* from the script engine.
- ".gat" is appended to the map name before sending the changemapserver packet to the client.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9979 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- many generic cleanups - reformatting, useless code removal, etc
- made the mode_neg setting a compile-time decision, not a run-time one
- removed the silly frame_size setting (there since r1)
- added some TODOs to http://www.eathena.ws/board/index.php?showtopic=127988
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9954 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9886 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
the servers' listening sockets
- Fixed the TURBO code not working since r4468 (parse func never called)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9826 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- removed unused session_data2 entry in sd
- added a new create_session() function, helps keep things cleaner (although it's ad-hoc and not perfect, since this is C)
- undid r4978 since it was getting in the way (re-add it if you need it)
- added defines for the recv, send and parse func pointers
- added null functions for the three actions, and made create_session() calls use those instead of NULL pointers; insignificant penalty and now:
- since all three funcs are always initialized, removed all those NULL checks
- removed the efd set, since as the people from the developernet forums pointed out, it's only for out-of-band data and NOT for error checking (in fact, select() bails out without giving any info if it errors out)
- reorganized the randomly placed socket.c contents somewhat
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9822 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9819 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Shuffled includes around for files that were leeching off of socket.h
- Added code that enforces standard shutdown behavior for sockets
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9817 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9815 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
was done.
- Fixed some unsigned warnings.
- Fixed Splash attacks consuming 2 ammo on each attack.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9718 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9684 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9649 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9648 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
deny,allow cases were switched)
- Updated the information about ip rules and DDoS protection in packet_athena.conf and commented out the line "allow: all" so connections are rejected when a DDoS is detected.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9647 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* functions checking if a player is attached as soon as possible.
* functions that required a player attached and would crash if none was
there terminate the script now. (others keep the current behaviour to
maintain full backward compatibility)
* removed the unused flag argument in guildskill.
* bonus,bonus2,bonus3,bonus4 use the same function now (remains the same
script-wise)
* added an optional parameter to setcart,setfalcon,setriding so it's
possible to remove the cart/falcon/mount or select a specific cart
* other cleanups
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9636 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9633 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Fixed an old debug message displaying %d instead of a number
* Commented out a login_log call (sql doesn't implement that function!)
* Found the reason why the console didn't want to run on windows
* Moved the plugin.def file to the plugins dir and added console.def
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9632 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added parse_console to the plugin API.
- Added plugin for parsing the console. (working with cygwin)
- Added the console plugin to plugin_athena.conf commented out.
- Copied the parse_console code form login txt to login sql and char.
- Added propper plugin version compatibility tests.
- Better output when a plugin fails to load.
-----
The console plugin (at it's 3rd version) uses two pipes and another thread.
- the other thread reads data from stdin and sends it through one of the pipes
- the other pipe serves as semaphore (and terminator) to that thread
- the normal thread checks if the pipe has data once every timer cycle, if data is found it invokes parse_console with that data
Worth noting: the first version didn't use another thread and just checked if data was available on the input stream, but apparently that can't be done to standard input in windows
It's only been tested on cygwin (and should work on most *nix systems), can't test native windows right now because I'm having trouble exporting the required plugin variables in VS8
src/plugins/Makefile hasn't been updated because it's not working properly for me
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9631 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9626 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Cleaned up do_close and socket_init a bit.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9621 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Completed adding of the new cities to @go
> that function is ugly and needs a complete rewrite, asap
- Updated thor volcano warps
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9615 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
Ref: http://www.eathena.ws/board/index.php?showtopic=129766
The rest of the TURBO related errors are about the HEAD defines having to be at the start of a block because they contain a variable declaration. (i won't fix these)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9611 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Re-applied change r9593 that got accidentally reverted by r9595.
- Added the official behavior of monsters regaining full hp when they morph.
- Added support for text/comments at the end of monster spawn lines (<tab> required)
- Silenced the debug message in socket.c that's been freaking people out.
- Modified the useless error message in atcommand_effect.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9608 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Fixed getitem trying to get <character ID> from the wrong argument.
- Now getitem can be run on scripts without a player attached if <character ID> is specified.
- Now the two last arguments of guardian are optional and independant of each other ("<event label>" and <guardian index>). This way the previous implementation and script_commands definition are still valid code.
- Now buildin function names and argument definitions are checked for validity before adding the function to the script engine.
Argument definitions follow the pattern:
(v|s|i|l)*\?*\*?
v - value (string or int)
s - string
i - int
l - label
? - one optional parameter
* - unknown number of optional parameters
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9599 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
uncloaking process warps you.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9591 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9589 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Fixed the packet structure in mmo_char_send006b for PACKETVER 8.
- Removed search_str from add_str (add_str already searches for the string).
- Native script words like do,while,for,... are case insensitive now.
- Changed SCRIPT_HASH_SIZE to 1021 (prime hash sizes give better distributions).
- Added alternative hash implementations to the script engine (to try out later).
removed int_homun.c from header section of the VS8 map project files
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9588 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
underlying code (char/map/login) can handle it and free any related resources.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9587 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
incorrect socket.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9582 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
"Basically what I did was perform simple one-liner substitutions for ugly repetitive blocks of code. The most apparent are the send/recv code and the other basic socket calls."
- flush_fifo is non-blocking now. I guess best effort is good enough...
- Copied header files from vcproj-7.1 files to vcproj-8 files.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9570 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9489 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
or not until the data is sent. The server-tick reply no longer blocks the current thread.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9486 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
soon as possible) since it didn't fix the client synchronization issue.
- clif_parse_TickSend is sent immediately so the client gets accurate "pings"
Note: in Changelog, for my changes, if they're grouped together and in the same day I'm only gonna "sign" the bottom line.
All unsigned lines are assumed to be from the same person of the previous line (below). (easier searches =P)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9443 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
This might fix client synchronization issues.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9415 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Fixed the interserver link reserve size being 8 times instead of 1/8th the default size. Changed it to be 1/4th as well.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9411 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
Description: A player quits and it's session is freed and set to NULL,
but the char server already sent a packet with player information
(registers, storage, ...). If a message is sent in consequence of
updating that info, a segmentation fault happens because
session[sd->fd] is already NULL.
Fix: make shure the session of the target player is valid before
processing the rest of the char server's message.
- Some minor cleanups.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9366 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
http://www.eathena.ws/board/index.php?showtopic=105417
Hopefully that will take care of the SIGPIPE problem in Debian and cygwin.
- Server name in core.c skipping '\\' characters.
- Memory allocation functions using file,line,func from the invoking functions.
- Other minor changes in malloc
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9344 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
TURBO support)
- Fixed the fact that the TURBO code breaks when you attempt to handle more than one connection at a time within the same function. However this broke map-server compilation, therefore, don't use TURBO yet! It needs more fixing (and I need more time to fix it)
- While at it, cleaned a few packet implementations in the char/login servers which were not only ugly, but had some really stupid flaws within (stuff like escaping a string, and then using the non-escaped variable to insert to SQL? T_T) And will someone explain me why the TXT servers are coded much more cleanly, and without such horribly broken code as I find in the SQL ones? T_T;
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9307 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
connection, and when there's not enough space, it will increase it.
- Added define TURBO to the Makefile. It enables MouseJstr's socket access optimization which should speed up the code when accessing the write/read buffers repeatedly within a function.
- Fixed the functions where the RFIFOHEAD/WFIFOHEAD functions were used incorrectly (prevents TURBO enabled compilations from finishing)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9297 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Removed the time2 value of NJ_NEN since it has no use.
- Removed the return code entry when logging GM reload-GM requests (login-sql),it'll just be stored as zero.
- Added a fix on socket.c to not pick INADDR_ANY when choosing our own IP.
- Applied the correction on maprespawnguildid so that it parses ALL players and not just those on a map.
- TK_JUMPKICK now dispels normal aspd/speed potions (not berserk pitched ones) and Preserve will be unable to block this.
- Soul Linkers are now inmune to SA_DISPEL
- You can now place everything (except magic skills) on top of LPs.
- Corrected Ganbantein to not touch song/dance/ensembles.
- Status_calc_pc will refuse to execute if the player is still tagged as a "new connection" and the invocation is not meant to be the first one.
- Swapped the order of checks in status_isimmune so that Wand of Hermod skill blocking takes precedence over GTB's
- Client packets will all be ignored while a player is not on a map until the LoadEndAck packet is received.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9152 54d463be-8e91-2dee-dedb-b68131a5f0ec
|