- made client a first-class crossfire-perl object (its attachable), but perl support is missing. - added some client events - fixed reply not working after logout
- separate all comamnds into immediate/socket-level and queued/player-level - clean up player command handling, handle up to 8 commands/tick
- socket i/o is completely asynchronous now - some command sare handled immediately - others (most palying related commands) are queued for later (as of now synchronous) processing - specifying a max queue length (in seconds) is possible, but disabled - also add some syntax sugar for network code
the rename for sanity campaign hits you died - renamed stuff - partially updated copyrights - some cleanups
streamlined packet processing a bit, experimentally enabled more immediate paclets
- write() is now independent of server ticks and will be done immediately - get rid of CORK hack, it is no longer necessary
- implement c++ interface to Event->io watchers - cut number of write()'s the server does in half
- rewrote most of the socket loop code - moved connection accept into tcp.ext - no evil socket copying anymore, needs more cleanups
moar\! rewrite\!
rewrite phase one finished
moar rewrite
(intermediate check-in for recoverability)
- further cleanup and rewrite - fix a potential crash in "lock" and "mark" packets
started simplifying network code
nuke metaserver code
mapstruct => maptile removed many ytypedefs in favor of structure tags
get rid of esrv_map_scroll and MapNewmapCmd, map update will handle it automatically
Made server compile with C++. Removed cfanim plugin and crossedit. C++ here we come.
implement 'ext' packet for extensions to hook directly into the protocol
Problem: server sends out 2 tcp packets per command (e.g. a 2-byte packet + a 10 byte packet for a small map1a command). Solution: rewrite that thing Workaround: on linux, uncork and cork again just before sleeping for the next tick, that solves the problem without hackery or rewriting it. This cuts the # of packets send by at least one half.
first round of mapinfo command and response, rationalised the coordinate system
Initial revision
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.