ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/socket/lowlevel.C
Revision 1.102 - (view) (download) (annotate) - [select for diffs]
Wed Dec 5 19:03:27 2018 UTC (5 years, 5 months ago) by root
Branch: MAIN
CVS Tags: HEAD
Changes since 1.101: +2 -2 lines
Diff to previous 1.101
some bugfixes

Revision 1.101 - (view) (download) (annotate) - [select for diffs]
Sat Dec 1 20:22:13 2018 UTC (5 years, 5 months ago) by root
Branch: MAIN
Changes since 1.100: +1 -1 lines
Diff to previous 1.100
slight cleanup

Revision 1.100 - (view) (download) (annotate) - [select for diffs]
Wed Nov 14 23:24:27 2018 UTC (5 years, 5 months ago) by root
Branch: MAIN
Changes since 1.99: +7 -6 lines
Diff to previous 1.99
c++17

Revision 1.99 - (view) (download) (annotate) - [select for diffs]
Thu Jan 19 21:18:34 2017 UTC (7 years, 3 months ago) by root
Branch: MAIN
Changes since 1.98: +1 -1 lines
Diff to previous 1.98
*** empty log message ***

Revision 1.98 - (view) (download) (annotate) - [select for diffs]
Wed Nov 16 23:42:03 2016 UTC (7 years, 5 months ago) by root
Branch: MAIN
Changes since 1.97: +1 -1 lines
Diff to previous 1.97
copyright update 2016

Revision 1.97 - (view) (download) (annotate) - [select for diffs]
Sun Nov 18 09:39:37 2012 UTC (11 years, 5 months ago) by root
Branch: MAIN
CVS Tags: rel-3_1
Changes since 1.96: +1 -1 lines
Diff to previous 1.96
drawinfo

Revision 1.96 - (view) (download) (annotate) - [select for diffs]
Sun Nov 18 09:39:11 2012 UTC (11 years, 5 months ago) by root
Branch: MAIN
Changes since 1.95: +0 -6 lines
Diff to previous 1.95
drawinfo

Revision 1.95 - (view) (download) (annotate) - [select for diffs]
Sun Nov 18 09:37:56 2012 UTC (11 years, 5 months ago) by root
Branch: MAIN
Changes since 1.94: +1 -1 lines
Diff to previous 1.94
*** empty log message ***

Revision 1.94 - (view) (download) (annotate) - [select for diffs]
Sun Nov 18 09:29:25 2012 UTC (11 years, 5 months ago) by root
Branch: MAIN
Changes since 1.93: +2 -2 lines
Diff to previous 1.93
drawinfo

Revision 1.93 - (view) (download) (annotate) - [select for diffs]
Sat Nov 17 06:05:34 2012 UTC (11 years, 5 months ago) by root
Branch: MAIN
Changes since 1.92: +1 -1 lines
Diff to previous 1.92
*** empty log message ***

Revision 1.92 - (view) (download) (annotate) - [select for diffs]
Thu Nov 15 04:50:50 2012 UTC (11 years, 5 months ago) by root
Branch: MAIN
Changes since 1.91: +2 -9 lines
Diff to previous 1.91
ncom bye bye

Revision 1.91 - (view) (download) (annotate) - [select for diffs]
Thu Nov 8 02:50:14 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.90: +3 -3 lines
Diff to previous 1.90
*** empty log message ***

Revision 1.90 - (view) (download) (annotate) - [select for diffs]
Thu Nov 8 02:28:21 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.89: +93 -76 lines
Diff to previous 1.89
parse more than one webscoket frame per read (bug), do not require a length prefix

Revision 1.89 - (view) (download) (annotate) - [select for diffs]
Tue Nov 6 21:50:36 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.88: +2 -2 lines
Diff to previous 1.88
*** empty log message ***

Revision 1.88 - (view) (download) (annotate) - [select for diffs]
Tue Nov 6 15:11:16 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.87: +66 -11 lines
Diff to previous 1.87
*** empty log message ***

Revision 1.87 - (view) (download) (annotate) - [select for diffs]
Tue Nov 6 03:45:17 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.86: +119 -6 lines
Diff to previous 1.86
websockets, a bit of them

Revision 1.86 - (view) (download) (annotate) - [select for diffs]
Tue Oct 30 17:07:50 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.85: +13 -8 lines
Diff to previous 1.85
*** empty log message ***

Revision 1.85 - (view) (download) (annotate) - [select for diffs]
Mon Oct 29 23:55:57 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.84: +5 -5 lines
Diff to previous 1.84
trailing space removal

Revision 1.84 - (view) (download) (annotate) - [select for diffs]
Tue Jan 3 11:25:37 2012 UTC (12 years, 4 months ago) by root
Branch: MAIN
Changes since 1.83: +1 -1 lines
Diff to previous 1.83
update copyrights to 2012

Revision 1.83 - (view) (download) (annotate) - [select for diffs]
Sat Apr 23 04:56:58 2011 UTC (13 years ago) by root
Branch: MAIN
Changes since 1.82: +1 -1 lines
Diff to previous 1.82
update copyright to 2011

Revision 1.82 - (view) (download) (annotate) - [select for diffs]
Wed Feb 16 13:46:44 2011 UTC (13 years, 2 months ago) by root
Branch: MAIN
Changes since 1.81: +2 -2 lines
Diff to previous 1.81
*** empty log message ***

Revision 1.81 - (view) (download) (annotate) - [select for diffs]
Mon Oct 25 11:35:15 2010 UTC (13 years, 6 months ago) by root
Branch: MAIN
Changes since 1.80: +1 -1 lines
Diff to previous 1.80
*** empty log message ***

Revision 1.80 - (view) (download) (annotate) - [select for diffs]
Sat Oct 16 22:51:52 2010 UTC (13 years, 6 months ago) by root
Branch: MAIN
Changes since 1.79: +2 -2 lines
Diff to previous 1.79
*** empty log message ***

Revision 1.79 - (view) (download) (annotate) - [select for diffs]
Tue Oct 5 21:40:06 2010 UTC (13 years, 7 months ago) by root
Branch: MAIN
Changes since 1.78: +1 -1 lines
Diff to previous 1.78
quick hack to implement faceset 2 / text chars

Revision 1.78 - (view) (download) (annotate) - [select for diffs]
Fri Apr 30 20:43:18 2010 UTC (14 years ago) by root
Branch: MAIN
CVS Tags: rel-3_0
Changes since 1.77: +1 -1 lines
Diff to previous 1.77
indent

Revision 1.77 - (view) (download) (annotate) - [select for diffs]
Sun Apr 11 23:32:10 2010 UTC (14 years, 1 month ago) by root
Branch: MAIN
Changes since 1.76: +4 -4 lines
Diff to previous 1.76
*** empty log message ***

Revision 1.76 - (view) (download) (annotate) - [select for diffs]
Thu Apr 8 20:05:36 2010 UTC (14 years, 1 month ago) by root
Branch: MAIN
Changes since 1.75: +8 -1 lines
Diff to previous 1.75
remove support for toggleextendedtext

Revision 1.75 - (view) (download) (annotate) - [select for diffs]
Fri Mar 26 01:04:45 2010 UTC (14 years, 1 month ago) by root
Branch: MAIN
Changes since 1.74: +1 -1 lines
Diff to previous 1.74
update copyright for up to 2010

Revision 1.74 - (view) (download) (annotate) - [select for diffs]
Wed Nov 11 04:45:23 2009 UTC (14 years, 6 months ago) by root
Branch: MAIN
CVS Tags: rel-2_92, rel-2_93
Changes since 1.73: +4 -1 lines
Diff to previous 1.73
*** empty log message ***

Revision 1.73 - (view) (download) (annotate) - [select for diffs]
Tue Nov 3 23:44:21 2009 UTC (14 years, 6 months ago) by root
Branch: MAIN
CVS Tags: rel-2_90
Changes since 1.72: +1 -2 lines
Diff to previous 1.72
tighten copyright statements for files containing no gpl code whatsoever anymore

Revision 1.72 - (view) (download) (annotate) - [select for diffs]
Tue Oct 13 18:20:08 2009 UTC (14 years, 7 months ago) by root
Branch: MAIN
CVS Tags: rel-2_82
Changes since 1.71: +4 -1 lines
Diff to previous 1.71
*** empty log message ***

Revision 1.71 - (view) (download) (annotate) - [select for diffs]
Mon Oct 12 14:00:59 2009 UTC (14 years, 7 months ago) by root
Branch: MAIN
CVS Tags: rel-2_81
Changes since 1.70: +7 -6 lines
Diff to previous 1.70
clarify license

Revision 1.70 - (view) (download) (annotate) - [select for diffs]
Sat Feb 21 06:25:46 2009 UTC (15 years, 2 months ago) by root
Branch: MAIN
CVS Tags: rel-2_78, rel-2_79, rel-2_80
Changes since 1.69: +5 -3 lines
Diff to previous 1.69
afaik, this was a disastrous bug

Revision 1.69 - (view) (download) (annotate) - [select for diffs]
Sun Dec 28 06:59:27 2008 UTC (15 years, 4 months ago) by root
Branch: MAIN
CVS Tags: rel-2_74, rel-2_75, rel-2_76, rel-2_77
Changes since 1.68: +1 -5 lines
Diff to previous 1.68
smell, remove gcfclient support, material fixes, cfpod parse fixes, refactoring

Revision 1.68 - (view) (download) (annotate) - [select for diffs]
Sat Dec 27 01:25:00 2008 UTC (15 years, 4 months ago) by root
Branch: MAIN
Changes since 1.67: +0 -2 lines
Diff to previous 1.67
gcfclient removal

Revision 1.67 - (view) (download) (annotate) - [select for diffs]
Fri Dec 26 10:44:17 2008 UTC (15 years, 4 months ago) by root
Branch: MAIN
Changes since 1.66: +0 -1 lines
Diff to previous 1.66
extdnedMapInfos removal, mapextended removal

Revision 1.66 - (view) (download) (annotate) - [select for diffs]
Fri Sep 19 01:39:45 2008 UTC (15 years, 7 months ago) by root
Branch: MAIN
CVS Tags: rel-2_71, rel-2_72, rel-2_73
Changes since 1.65: +3 -1 lines
Diff to previous 1.65
*** empty log message ***

Revision 1.65 - (view) (download) (annotate) - [select for diffs]
Thu May 8 20:03:50 2008 UTC (16 years ago) by root
Branch: MAIN
CVS Tags: rel-2_54, rel-2_55, rel-2_56, rel-2_6, rel-2_61, rel-2_7
Changes since 1.64: +0 -7 lines
Diff to previous 1.64
*** empty log message ***

Revision 1.64 - (view) (download) (annotate) - [select for diffs]
Tue May 6 16:55:26 2008 UTC (16 years ago) by root
Branch: MAIN
Changes since 1.63: +1 -1 lines
Diff to previous 1.63
update copyright

Revision 1.63 - (view) (download) (annotate) - [select for diffs]
Wed Nov 14 08:09:46 2007 UTC (16 years, 5 months ago) by root
Branch: MAIN
CVS Tags: rel-2_32, rel-2_4, rel-2_41, rel-2_42, rel-2_43, rel-2_5, rel-2_52, rel-2_53
Changes since 1.62: +9 -9 lines
Diff to previous 1.62
switch from Event to EV

Revision 1.62 - (view) (download) (annotate) - [select for diffs]
Thu Nov 8 19:43:30 2007 UTC (16 years, 6 months ago) by root
Branch: MAIN
Changes since 1.61: +4 -4 lines
Diff to previous 1.61
update copyrights and other minor stuff to deliantra

Revision 1.61 - (view) (download) (annotate) - [select for diffs]
Fri Oct 5 23:03:49 2007 UTC (16 years, 7 months ago) by root
Branch: MAIN
CVS Tags: rel-2_3
Changes since 1.60: +5 -4 lines
Diff to previous 1.60
add shout and suicide to the list of immediate commands

Revision 1.60 - (view) (download) (annotate) - [select for diffs]
Mon Oct 1 01:09:10 2007 UTC (16 years, 7 months ago) by root
Branch: MAIN
Changes since 1.59: +7 -11 lines
Diff to previous 1.59
do away with silly command process idle watcher, we process most commands in the mainloop anyways, so its only overhead

Revision 1.59 - (view) (download) (annotate) - [select for diffs]
Sun Sep 30 20:22:25 2007 UTC (16 years, 7 months ago) by root
Branch: MAIN
Changes since 1.58: +3 -1 lines
Diff to previous 1.58
- clean up message system, combine all boxes into one.
- suppress too long messages (we need a more robust solution to this problem).
- get rid of INS_MAP_LOAD, leading to slightly cleaner/faster code
  and certainly one special case less.
- insert objects manually at load time, this is both faster and also more
  correct, as loading a map is never supposed to trigger anything (and
  also for symmetry to the save code).

Revision 1.58 - (view) (download) (annotate) - [select for diffs]
Sat Sep 8 06:57:08 2007 UTC (16 years, 8 months ago) by root
Branch: MAIN
CVS Tags: rel-2_2
Changes since 1.57: +6 -0 lines
Diff to previous 1.57
be proactive

Revision 1.57 - (view) (download) (annotate) - [select for diffs]
Sat Sep 1 08:03:46 2007 UTC (16 years, 8 months ago) by root
Branch: MAIN
Changes since 1.56: +1 -1 lines
Diff to previous 1.56
first round of infobox and c++-level channels

Revision 1.56 - (view) (download) (annotate) - [select for diffs]
Mon Jul 30 02:03:03 2007 UTC (16 years, 9 months ago) by root
Branch: MAIN
Changes since 1.55: +0 -38 lines
Diff to previous 1.55
big semantic change

- old server and crossfire did
  update/draw maps
  check for player commands, move players and monsters
  flush sockets

- new server does
  check for player commands, move players and monsters
  update/draw maps
  flush sockets

I have zero idea why the old code didn't do it this way. the net effect is
that there is a guarenteed delay of one tick between an issued command and
the player seeing its execution. The same for monster movements.

That is, the new ordering reduces "lag" by a constant 120ms, which is
immense, and can be felt immediately.

This is a change I wanted to do for a long time.

Apart from that, the tcp send code has been simplified and underwent some
further tuning, leading to an even more accurate congestion management.

Revision 1.55 - (view) (download) (annotate) - [select for diffs]
Sun Jul 29 13:36:40 2007 UTC (16 years, 9 months ago) by root
Branch: MAIN
Changes since 1.54: +1 -1 lines
Diff to previous 1.54
fix off-by-one bug in checking for valid header sizes, actually a crossfire relict. consider it a unit test that had a bug...

Revision 1.54 - (view) (download) (annotate) - [select for diffs]
Sun Jul 29 02:24:34 2007 UTC (16 years, 9 months ago) by root
Branch: MAIN
Changes since 1.53: +26 -20 lines
Diff to previous 1.53
implement the most elaborate rate limit system to date, from the errors before:

- output-rate is now an upper bound only. its purpose is to give the user
  some control over bandwith use. it should be set too high rather than too low.
- the server will (on linux only, or systems that support tcpi), guess
  how much the kernel is willing to send without delay (this is imperfect as
  we do not know the remote receive window, but we assume its "large enough").
- we accuretyl measure mss and ensure that preferably mss-sized packets
  leave the server, by sending less in some cases and more in others
  to reacht eh desired bandwidth goal
  (e.g. 15000 == http://ue.tst.eu/545350740128735b13aaf541c88bfaf2.txt)

the net effect is that the server will never send (much) more data than the kernel
thinks the network is able to handle. that is, when the connection was idle for a time
and the congestion window is small, we will only start sending small amounts of
data, prompting the kernel to accuratly model the bandwidth.

in essence, this creates a tcp stream that never has more data buffered
than neccessary for in-flight data, ensuring that we can get low-latency
map updates through to the client whole using all excess bandwidth the
network can handle.

I mostly tested with netem, e.g.

   ifconfig lo mtu 1500
   tc qdisc change dev lo root netem delay 190ms 10ms drop 0.1

gave me roughtly 20kb/s throughput even though output-rate was 100kb/s,
without stalling the conenction even when downloading backgorund music and
other large chunks of data.

Revision 1.53 - (view) (download) (annotate) - [select for diffs]
Sat Jul 28 12:02:58 2007 UTC (16 years, 9 months ago) by root
Branch: MAIN
Changes since 1.52: +6 -6 lines
Diff to previous 1.52
- remote code was not making copies of strings it modified
- implemented two ew flags: NDI_REPLY and NDI_DEF.
- went over a lot of chat-related code and converted to send_msg,
  NDI_REPLY and NDI_DEF.

Revision 1.52 - (view) (download) (annotate) - [select for diffs]
Sat Jul 28 00:15:18 2007 UTC (16 years, 9 months ago) by root
Branch: MAIN
Changes since 1.51: +2 -2 lines
Diff to previous 1.51
allow perl access to the full tcpi structure. do some elaborate congestion control (very experimental, but better than the old way)

Revision 1.51 - (view) (download) (annotate) - [select for diffs]
Sat Jul 28 00:15:03 2007 UTC (16 years, 9 months ago) by root
Branch: MAIN
Changes since 1.50: +2 -17 lines
Diff to previous 1.50
allow perl access to the full tcpi structure. do some elaborate congestion control (very experimental, but better than the old way)

Revision 1.50 - (view) (download) (annotate) - [select for diffs]
Thu Jul 12 19:36:58 2007 UTC (16 years, 10 months ago) by root
Branch: MAIN
Changes since 1.49: +14 -0 lines
Diff to previous 1.49
try a very simple method of failsafe-bandweidthing by not sending any data when the socket buffer could not be drained in the last tick

Revision 1.49 - (view) (download) (annotate) - [select for diffs]
Sun Jul 1 05:00:20 2007 UTC (16 years, 10 months ago) by root
Branch: MAIN
Changes since 1.48: +11 -12 lines
Diff to previous 1.48
- upgrade crossfire trt to the GPL version 3 (hopefully correctly).
- add a single file covered by the GNU Affero General Public License
  (which is not yet released, so I used the current draft, which is
  legally a bit wavy, but its likely better than nothing as it expresses
  direct intent by the authors, and we can upgrade as soon as it has been
  released).
  * this should ensure availability of source code for the server at least
    and hopefully also archetypes and maps even when modified versions
    are not being distributed, in accordance of section 13 of the agplv3.

Revision 1.48 - (view) (download) (annotate) - [select for diffs]
Sun Jun 24 04:09:29 2007 UTC (16 years, 10 months ago) by root
Branch: MAIN
Changes since 1.47: +14 -10 lines
Diff to previous 1.47
first rough cut of msg rewriting, introducing cfpod, a haxored pod variant for crossfire messgaes. where will it end?

Revision 1.47 - (view) (download) (annotate) - [select for diffs]
Tue Jun 12 10:29:52 2007 UTC (16 years, 11 months ago) by root
Branch: MAIN
Changes since 1.46: +3 -2 lines
Diff to previous 1.46
only test for timeout and send pseudo-pings when player is active

Revision 1.46 - (view) (download) (annotate) - [select for diffs]
Sun Jun 10 04:44:21 2007 UTC (16 years, 11 months ago) by root
Branch: MAIN
Changes since 1.45: +3 -0 lines
Diff to previous 1.45
update mss, if possible

Revision 1.45 - (view) (download) (annotate) - [select for diffs]
Sun Jun 10 02:51:46 2007 UTC (16 years, 11 months ago) by root
Branch: MAIN
Changes since 1.44: +2 -14 lines
Diff to previous 1.44
use configure to check for tcp_info

Revision 1.44 - (view) (download) (annotate) - [select for diffs]
Sat Jun 9 22:54:28 2007 UTC (16 years, 11 months ago) by root
Branch: MAIN
Changes since 1.43: +1 -1 lines
Diff to previous 1.43
*** empty log message ***

Revision 1.43 - (view) (download) (annotate) - [select for diffs]
Sat Jun 9 22:54:04 2007 UTC (16 years, 11 months ago) by root
Branch: MAIN
Changes since 1.42: +40 -61 lines
Diff to previous 1.42
- introduce global NOW variable storing current tick time.
- force some packet send at least every 2 seconds, forcing
  an ack reply.
- timeout connections on ack delay exclusively, by default disconnect
  after 8 seconds (allowing for at least 5.5s of network hiccups).
  (linux only, should port to bsds).
- nuke ericserver stats code.
- reduce number of syscalls (less gettimeofday, only get tcp_info
  about once/second).
- get rid of coroapi.time () in favour of now ().

Revision 1.42 - (view) (download) (annotate) - [select for diffs]
Mon May 28 21:22:26 2007 UTC (16 years, 11 months ago) by root
Branch: MAIN
Changes since 1.41: +19 -19 lines
Diff to previous 1.41
update copyrights in socket/*.C

Revision 1.41 - (view) (download) (annotate) - [select for diffs]
Fri May 18 19:46:22 2007 UTC (16 years, 11 months ago) by root
Branch: MAIN
CVS Tags: rel-2_1
Changes since 1.40: +1 -1 lines
Diff to previous 1.40
new speed management:
- weapon speed and object speed is now completekly decoupled for players.
- both can be used at the same time, or indeepndent, when running or firing.
- still only one command per object speed can be issued.

Revision 1.40 - (view) (download) (annotate) - [select for diffs]
Tue Apr 24 00:42:03 2007 UTC (17 years ago) by root
Branch: MAIN
Changes since 1.39: +16 -0 lines
Diff to previous 1.39
- implement a rudimentary framework for a "msg" command that
  replaces drawinfo and drawextinfo and allows for simpler usage
  in simple cases and extensibility for the less complex uses.
- moved the character race choosing logic into perl, making use
  of the new msg command if the client supports it.

Revision 1.39 - (view) (download) (annotate) - [select for diffs]
Mon Apr 23 19:10:17 2007 UTC (17 years ago) by root
Branch: MAIN
Changes since 1.38: +5 -4 lines
Diff to previous 1.38
implement ex command support to quickly retrieve item descriptions

Revision 1.38 - (view) (download) (annotate) - [select for diffs]
Tue Apr 3 00:21:38 2007 UTC (17 years, 1 month ago) by root
Branch: MAIN
Changes since 1.37: +3 -3 lines
Diff to previous 1.37
- fix ber encoding
- reduce image checksum length to 6 bytes (from 16)
- implement fx packet, which reduces
  face overhead to amortised 10/12 bytes per face instead of
  21/32 bytes and allows an unlimited number of faces
  instead of 2**16.

Revision 1.37 - (view) (download) (annotate) - [select for diffs]
Mon Apr 2 19:56:11 2007 UTC (17 years, 1 month ago) by root
Branch: MAIN
Changes since 1.36: +18 -0 lines
Diff to previous 1.36
add untested ber integer encoding function

Revision 1.36 - (view) (download) (annotate) - [select for diffs]
Wed Mar 14 15:44:47 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.35: +4 -2 lines
Diff to previous 1.35
- make face caching mandatory, and pester users to enable it
- implement rate-limiting, for images only right now
- implement and document output-rate command to set rate limit.
- default 1mbit.

Revision 1.35 - (view) (download) (annotate) - [select for diffs]
Wed Mar 14 00:04:59 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.34: +6 -0 lines
Diff to previous 1.34
- rewrote smooth face handling, as a side-effect, smoothing seems to work
  again and smooth faces can be reloaded.
- the server now sends the full animation for an object the first time
  it is seen, this uses slightly more bandwidth initially, but avoids
  the flickering for objects change their face later.

Revision 1.34 - (view) (download) (annotate) - [select for diffs]
Thu Mar 1 12:28:17 2007 UTC (17 years, 2 months ago) by pippijn
Branch: MAIN
CVS Tags: rel-2_0
Changes since 1.33: +0 -2 lines
Diff to previous 1.33
nano-cleanups

Revision 1.33 - (view) (download) (annotate) - [select for diffs]
Sun Feb 4 21:02:54 2007 UTC (17 years, 3 months ago) by root
Branch: MAIN
Changes since 1.32: +32 -4 lines
Diff to previous 1.32
make a horrendous hack to enable say and chat to be executed almost anytime

Revision 1.32 - (view) (download) (annotate) - [select for diffs]
Sat Jan 20 13:47:17 2007 UTC (17 years, 3 months ago) by pippijn
Branch: MAIN
Changes since 1.31: +22 -22 lines
Diff to previous 1.31
comments

Revision 1.31 - (view) (download) (annotate) - [select for diffs]
Mon Jan 15 02:39:41 2007 UTC (17 years, 3 months ago) by root
Branch: MAIN
Changes since 1.30: +1 -1 lines
Diff to previous 1.30
- fix crash bug
- better fork & abort (untested)

Revision 1.30 - (view) (download) (annotate) - [select for diffs]
Sat Jan 6 14:42:31 2007 UTC (17 years, 4 months ago) by pippijn
Branch: MAIN
Changes since 1.29: +1 -0 lines
Diff to previous 1.29
added some copyrights

Revision 1.29 - (view) (download) (annotate) - [select for diffs]
Thu Dec 21 23:37:06 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.28: +7 -4 lines
Diff to previous 1.28
- made state a per-client variable
  (that does not magically make state a per-client thing!)
- rename player->socket to player->ns. its not a good name for "client",
  but it is an historical artifact, and better than "socket".

Revision 1.28 - (view) (download) (annotate) - [select for diffs]
Thu Dec 21 06:12:37 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.27: +4 -4 lines
Diff to previous 1.27
- 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

Revision 1.27 - (view) (download) (annotate) - [select for diffs]
Wed Dec 20 01:19:11 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.26: +9 -0 lines
Diff to previous 1.26
some source simplification

Revision 1.26 - (view) (download) (annotate) - [select for diffs]
Tue Dec 19 04:58:05 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.25: +22 -26 lines
Diff to previous 1.25
- separate all comamnds into immediate/socket-level and queued/player-level
- clean up player command handling, handle up to 8 commands/tick

Revision 1.25 - (view) (download) (annotate) - [select for diffs]
Sun Dec 17 19:14:00 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.24: +1 -1 lines
Diff to previous 1.24
re-enable async command execution

Revision 1.24 - (view) (download) (annotate) - [select for diffs]
Sat Dec 16 17:16:52 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.23: +1 -1 lines
Diff to previous 1.23
- remove no_shout
- serialise command execution somewhat again :(
- avoid exceptions

Revision 1.23 - (view) (download) (annotate) - [select for diffs]
Sat Dec 16 03:08:26 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.22: +243 -75 lines
Diff to previous 1.22
- 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

Revision 1.22 - (view) (download) (annotate) - [select for diffs]
Fri Dec 15 19:59:20 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.21: +9 -10 lines
Diff to previous 1.21
the rename for sanity campaign hits
you died
- renamed stuff
- partially updated copyrights
- some cleanups

Revision 1.21 - (view) (download) (annotate) - [select for diffs]
Fri Dec 15 00:14:13 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.20: +3 -0 lines
Diff to previous 1.20
- make client_socket accessible to perl
- on linux, record rtt and rttvar
- who shows rtt/rttvar

Revision 1.20 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 21:46:34 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.19: +89 -153 lines
Diff to previous 1.19
- write() is now independent of server ticks and will be done immediately
- get rid of CORK hack, it is no longer necessary

Revision 1.19 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 20:39:54 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.18: +28 -33 lines
Diff to previous 1.18
- implement c++ interface to Event->io watchers
- cut number of write()'s the server does in half

Revision 1.18 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 05:09:32 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.17: +2 -3 lines
Diff to previous 1.17
- remove some old socket mode cruft
- preliminarily added attachable client_socket interface to perl
  (untested but also unreachable from perl code atm)

Revision 1.17 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 04:30:33 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.16: +0 -1 lines
Diff to previous 1.16
- rewrote most of the socket loop code
- moved connection accept into tcp.ext
- no evil socket copying anymore,
  needs more cleanups

Revision 1.16 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 02:37:37 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.15: +10 -10 lines
Diff to previous 1.15
moar\! rewrite\!

Revision 1.15 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 01:59:10 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.14: +37 -24 lines
Diff to previous 1.14
rewrite phase one finished

Revision 1.14 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 01:21:58 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.13: +10 -11 lines
Diff to previous 1.13
moar rewrite

Revision 1.13 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 01:12:35 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.12: +18 -22 lines
Diff to previous 1.12
(intermediate check-in for recoverability)

Revision 1.12 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 00:01:37 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.11: +36 -98 lines
Diff to previous 1.11
- further cleanup and rewrite
- fix a potential crash in "lock" and "mark" packets

Revision 1.11 - (view) (download) (annotate) - [select for diffs]
Wed Dec 13 21:27:09 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.10: +30 -22 lines
Diff to previous 1.10
continued simplifying network code, partially removed support for sc protocol 1026

Revision 1.10 - (view) (download) (annotate) - [select for diffs]
Wed Dec 13 18:51:50 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.9: +12 -0 lines
Diff to previous 1.9
started simplifying network code

Revision 1.9 - (view) (download) (annotate) - [select for diffs]
Wed Dec 13 18:08:02 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.8: +16 -27 lines
Diff to previous 1.8
started simplifying network code

Revision 1.8 - (view) (download) (annotate) - [select for diffs]
Mon Dec 11 19:46:47 2006 UTC (17 years, 5 months ago) by pippijn
Branch: MAIN
Changes since 1.7: +1 -60 lines
Diff to previous 1.7
removed #ifn?def WIN32 from all files

Revision 1.7 - (view) (download) (annotate) - [select for diffs]
Sun Nov 26 19:48:50 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.6: +3 -3 lines
Diff to previous 1.6
double once more - stopid memory management does not scale

Revision 1.6 - (view) (download) (annotate) - [select for diffs]
Thu Sep 14 22:34:06 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.5: +0 -6 lines
Diff to previous 1.5
indent

Revision 1.5 - (view) (download) (annotate) - [select for diffs]
Sun Sep 10 13:43:33 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.4: +311 -253 lines
Diff to previous 1.4
indent

Revision 1.4 - (view) (download) (annotate) - [select for diffs]
Wed Aug 30 16:30:37 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.3: +5 -5 lines
Diff to previous 1.3
remove compression support, intiialise perl earlier etc. etc.

Revision 1.3 - (view) (download) (annotate) - [select for diffs]
Tue Aug 29 08:01:38 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.2: +157 -157 lines
Diff to previous 1.2
expand initial tabs to spaces

Revision 1.2 - (view) (download) (annotate) - [select for diffs]
Fri Aug 18 02:06:58 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.1: +1 -14 lines
Diff to previous 1.1
support health stats in an extensible way in map1

Revision 1.1 - (view) (download) (annotate) - [select for diffs]
Sun Aug 13 17:16:06 2006 UTC (17 years, 9 months ago) by elmex
Branch: MAIN
Made server compile with C++.
Removed cfanim plugin and crossedit.
C++ here we come.

Convenience Links

Links to HEAD: (view) (download) (annotate)

Compare Revisions

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.

  Diffs between and
  Type of Diff should be a