Ghost’s blog » Setti stuff

July 29, 2007

pin.setti.info kernel config

This is mostly for backup, but maybe someone might find it interesting. The very stripped out linux kernel config of pin.setti.info.

CONFIG_X86_64=y
CONFIG_64BIT=y
CONFIG_X86=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_ZONE_DMA32=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_CMPXCHG=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_DMI=y
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
CONFIG_DEFCONFIG_LIST=”/lib/modules/$UNAME_RELEASE/.config”

CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

CONFIG_LOCALVERSION=”"
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_SYSFS_DEPRECATED=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=”"
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_SLAB=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0

CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_STOP_MACHINE=y

CONFIG_BLOCK=y

CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_DEFAULT_AS=y
CONFIG_DEFAULT_IOSCHED=”anticipatory”

CONFIG_TICK_ONESHOT=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_X86_PC=y
CONFIG_MK8=y
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_INTERNODE_CACHE_BYTES=64
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_MTRR=y
CONFIG_SMP=y
CONFIG_PREEMPT_DESKTOP=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
CONFIG_PREEMPT_RCU=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_RESOURCES_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_NR_CPUS=32
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_HPET_TIMER=y
CONFIG_IOMMU=y
CONFIG_SWIOTLB=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_AMD=y
CONFIG_PHYSICAL_START=0×200000
CONFIG_SECCOMP=y
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_REORDER=y
CONFIG_K8_NB=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_ISA_DMA_API=y
CONFIG_GENERIC_PENDING_IRQ=y

CONFIG_PM=y

CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCIEPORTBUS=y

CONFIG_BINFMT_ELF=y
CONFIG_IA32_EMULATION=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y

CONFIG_NET=y

CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_FIB_HASH=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG=”cubic”

CONFIG_NETFILTER=y

CONFIG_NF_CONNTRACK_ENABLED=y
CONFIG_NF_CONNTRACK_SUPPORT=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CT_ACCT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m

CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m

CONFIG_NET_CLS_ROUTE=y

CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y

CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024

CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y

CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_AMD74XX=y
CONFIG_BLK_DEV_ATIIXP=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_BLK_DEV_IDEDMA=y

CONFIG_SCSI=y

CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_SG=y

CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y

CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=4000
CONFIG_AIC79XX_DEBUG_MASK=0

CONFIG_ATA=y
CONFIG_SATA_AHCI=y
CONFIG_SATA_VIA=y
CONFIG_SATA_INTEL_COMBINED=y

CONFIG_NETDEVICES=y
CONFIG_TUN=y

CONFIG_NET_ETHERNET=y
CONFIG_MII=y

CONFIG_NET_TULIP=y
CONFIG_TULIP=y
CONFIG_NET_PCI=y
CONFIG_8139CP=y
CONFIG_8139TOO=y

CONFIG_NETCONSOLE=y
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y

CONFIG_INPUT=y

CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768

CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y

CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y

CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y

CONFIG_UNIX98_PTYS=y

CONFIG_AGP=y
CONFIG_AGP_AMD64=y

CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=256
CONFIG_VIDEO_SELECT=y
CONFIG_DUMMY_CONSOLE=y

CONFIG_HID=y

CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y

CONFIG_REISERFS_FS=y
CONFIG_DNOTIFY=y
CONFIG_AUTOFS4_FS=y

CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_RAMFS=y

CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y

CONFIG_MSDOS_PARTITION=y

CONFIG_NLS=y
CONFIG_NLS_DEFAULT=”iso8859-1″
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_UTF8=y

CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_LOG_BUF_SHIFT=15
CONFIG_DEBUG_BUGVERBOSE=y

CONFIG_BITREVERSE=y
CONFIG_CRC32=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y

July 13, 2007

CS:S rate settings in perspect of FPS

CS:S rate settings in perspect of FPS

Here’s proof how players fool themselves to see what’s not there.

Some players claim they see when someone has “bad rates”. “Bad rate” meaning someone has such low “cmdrate” that his movement seems laggy.

Players spotting these “bad raters” claim it’s difficult to hit them, because their movement is so blocky. Then, after the “bad rate” player changes his rates to match the maximum, the “better” players are pleased.

Anyway, the high rate settings are nearly meaningless for significant share of players. If a player’s computer is not capable of rendering the number of frames per second to match the cmdrate, there won’t be noticeable change in the player’s movement. The cmdrate will be limited by the number of frames the player’s computer is capable of rendering.

Conclusions

Most of the time the whining about “bad raters” is plain superstition. Players trust too much on the numbers they see on the server’s status table. Good values on the table don’t reflect the truth. Large part of the players play on computers which can’t hold high enough FPS to meet server’s requirements. Thus, the low-end players will seem the same way as they’ve always have regardless of their settings.

Players with low-end computers with good values on the status table don’t get bashed for being “bad raters”, although they send the same amount of data to the server as
the players who in real have low rate settings.

Unproven suggestions

Players with low-end computers should have their rate settings to match what they can
produce. Trying to reach high rates could as well cause more trouble for the low FPS players as it could give benefit. Reaching for two times the maximum is hardly ever the best practice. That’s why it might be good idea to set the settings to what really can be achieved. Maybe that way the game will be smoother and there won’t be so many ups and downs making the gameplay jerky. After all, having the settings reflect the real performance would affect the gameplay in positive way at worst.



The experiment

Two players for the experiment were chosen by their FPS. One player has high-end computer, which can run the game smoothly, rendering almost constantly over 100 frames per second. The other player has low-end computer, which is incapable of rendering the
number of frames per second to match the server’s tickrate value.

The server’s tickrate value is 66, and both players have their “cl_cmdrate” and “cl_updaterate” set to 100.

The idea is to see how much data the two players send to the server. The game settings related to network connection are set to the same, so it is to be expected to see the same amount of data.

Results

The most clear indication of difference caused by lower FPS is seen in the amount of data received by the server from the players. The player with high FPS sends two times more data on the server than the player with low FPS.

In certain view it’s the same as the player with low FPS would have rate settings set to half of the high FPS player. However, looking at the one second sample data it can be noted that the low FPS player often drops down to 20 packets per second, which is over three times lower than the player with high FPS.

Note also, that the number of packets per second from the low FPS player is in the boundaries of 25 to 40, which is the average FPS of the player. The high FPS player is capped by server settings, which shouldn’t accept more than 66 updates per second.

Players’ CS:S Game Settings

Both players have over 1Mbit connection.

Name rate cmd update Average FPS
k1ller 30000 100 100 Over 100
@nDr3w 30000 100 100 25 to 40

Data sent to server between 23:40 - 00:20 (40 minutes)

Name # of Packets Amount of Data
k1ller 161K 12M
@nDr3w 80K 6M

Data samples every second for 10 minute period.

The line contains the time, followed by

"Name=[number of packets received by the server per second]"

Thu Jul 12 23:40:11 EEST 2007 ^ k1ller=69 @nDr3w=39
Thu Jul 12 23:40:12 EEST 2007 ^ k1ller=68 @nDr3w=39
Thu Jul 12 23:40:13 EEST 2007 ^ k1ller=68 @nDr3w=43
Thu Jul 12 23:40:14 EEST 2007 ^ k1ller=68 @nDr3w=43
Thu Jul 12 23:40:15 EEST 2007 ^ k1ller=68 @nDr3w=38
Thu Jul 12 23:40:16 EEST 2007 ^ k1ller=69 @nDr3w=43
Thu Jul 12 23:40:18 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:40:19 EEST 2007 ^ k1ller=69 @nDr3w=37
Thu Jul 12 23:40:20 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:40:21 EEST 2007 ^ k1ller=69 @nDr3w=47
Thu Jul 12 23:40:22 EEST 2007 ^ k1ller=68 @nDr3w=45
Thu Jul 12 23:40:23 EEST 2007 ^ k1ller=69 @nDr3w=61
Thu Jul 12 23:40:25 EEST 2007 ^ k1ller=69 @nDr3w=36
Thu Jul 12 23:40:26 EEST 2007 ^ k1ller=67 @nDr3w=36
Thu Jul 12 23:40:27 EEST 2007 ^ k1ller=69 @nDr3w=41
Thu Jul 12 23:40:28 EEST 2007 ^ k1ller=68 @nDr3w=46
Thu Jul 12 23:40:29 EEST 2007 ^ k1ller=68 @nDr3w=45
Thu Jul 12 23:40:30 EEST 2007 ^ k1ller=68 @nDr3w=45
Thu Jul 12 23:40:31 EEST 2007 ^ k1ller=68 @nDr3w=52
Thu Jul 12 23:40:32 EEST 2007 ^ k1ller=68 @nDr3w=50
Thu Jul 12 23:40:33 EEST 2007 ^ k1ller=67 @nDr3w=40
Thu Jul 12 23:40:34 EEST 2007 ^ k1ller=68 @nDr3w=42
Thu Jul 12 23:40:35 EEST 2007 ^ k1ller=68 @nDr3w=51
Thu Jul 12 23:40:36 EEST 2007 ^ k1ller=67 @nDr3w=44
Thu Jul 12 23:40:37 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:40:38 EEST 2007 ^ k1ller=67 @nDr3w=30
Thu Jul 12 23:40:39 EEST 2007 ^ k1ller=69 @nDr3w=37
Thu Jul 12 23:40:40 EEST 2007 ^ k1ller=68 @nDr3w=33
Thu Jul 12 23:40:42 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:40:43 EEST 2007 ^ k1ller=69 @nDr3w=35
Thu Jul 12 23:40:44 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:40:45 EEST 2007 ^ k1ller=68 @nDr3w=49
Thu Jul 12 23:40:46 EEST 2007 ^ k1ller=68 @nDr3w=35
Thu Jul 12 23:40:47 EEST 2007 ^ k1ller=67 @nDr3w=39
Thu Jul 12 23:40:48 EEST 2007 ^ k1ller=67 @nDr3w=45
Thu Jul 12 23:40:49 EEST 2007 ^ k1ller=68 @nDr3w=37
Thu Jul 12 23:40:50 EEST 2007 ^ k1ller=67 @nDr3w=38
Thu Jul 12 23:40:51 EEST 2007 ^ k1ller=68 @nDr3w=45
Thu Jul 12 23:40:52 EEST 2007 ^ k1ller=67 @nDr3w=42
Thu Jul 12 23:40:53 EEST 2007 ^ k1ller=67 @nDr3w=39
Thu Jul 12 23:40:54 EEST 2007 ^ k1ller=68 @nDr3w=39
Thu Jul 12 23:40:55 EEST 2007 ^ k1ller=67 @nDr3w=39
Thu Jul 12 23:40:56 EEST 2007 ^ k1ller=68 @nDr3w=39
Thu Jul 12 23:40:57 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:40:58 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:41:00 EEST 2007 ^ k1ller=67 @nDr3w=41
Thu Jul 12 23:41:01 EEST 2007 ^ k1ller=68 @nDr3w=48
Thu Jul 12 23:41:02 EEST 2007 ^ k1ller=68 @nDr3w=43
Thu Jul 12 23:41:03 EEST 2007 ^ k1ller=68 @nDr3w=39
Thu Jul 12 23:41:04 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:41:05 EEST 2007 ^ k1ller=67 @nDr3w=33
Thu Jul 12 23:41:06 EEST 2007 ^ k1ller=68 @nDr3w=35
Thu Jul 12 23:41:07 EEST 2007 ^ k1ller=67 @nDr3w=28
Thu Jul 12 23:41:08 EEST 2007 ^ k1ller=60 @nDr3w=41
Thu Jul 12 23:41:09 EEST 2007 ^ k1ller=61 @nDr3w=25
Thu Jul 12 23:41:10 EEST 2007 ^ k1ller=55 @nDr3w=29
Thu Jul 12 23:41:11 EEST 2007 ^ k1ller=61 @nDr3w=30
Thu Jul 12 23:41:12 EEST 2007 ^ k1ller=68 @nDr3w=24
Thu Jul 12 23:41:13 EEST 2007 ^ k1ller=68 @nDr3w=17
Thu Jul 12 23:41:14 EEST 2007 ^ k1ller=69 @nDr3w=22
Thu Jul 12 23:41:16 EEST 2007 ^ k1ller=67 @nDr3w=21
Thu Jul 12 23:41:17 EEST 2007 ^ k1ller=69 @nDr3w=25
Thu Jul 12 23:41:18 EEST 2007 ^ k1ller=69 @nDr3w=22
Thu Jul 12 23:41:19 EEST 2007 ^ k1ller=67 @nDr3w=23
Thu Jul 12 23:41:20 EEST 2007 ^ k1ller=68 @nDr3w=22
Thu Jul 12 23:41:21 EEST 2007 ^ k1ller=69 @nDr3w=22
Thu Jul 12 23:41:22 EEST 2007 ^ k1ller=68 @nDr3w=24
Thu Jul 12 23:41:23 EEST 2007 ^ k1ller=68 @nDr3w=28
Thu Jul 12 23:41:24 EEST 2007 ^ k1ller=68 @nDr3w=28
Thu Jul 12 23:41:25 EEST 2007 ^ k1ller=68 @nDr3w=38
Thu Jul 12 23:41:26 EEST 2007 ^ k1ller=69 @nDr3w=33
Thu Jul 12 23:41:27 EEST 2007 ^ k1ller=69 @nDr3w=35
Thu Jul 12 23:41:28 EEST 2007 ^ k1ller=68 @nDr3w=34
Thu Jul 12 23:41:29 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:41:30 EEST 2007 ^ k1ller=69 @nDr3w=38
Thu Jul 12 23:41:32 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:41:33 EEST 2007 ^ k1ller=69 @nDr3w=33
Thu Jul 12 23:41:34 EEST 2007 ^ k1ller=69 @nDr3w=34
Thu Jul 12 23:41:35 EEST 2007 ^ k1ller=69 @nDr3w=35
Thu Jul 12 23:41:36 EEST 2007 ^ k1ller=69 @nDr3w=36
Thu Jul 12 23:41:37 EEST 2007 ^ k1ller=68 @nDr3w=35
Thu Jul 12 23:41:38 EEST 2007 ^ k1ller=70 @nDr3w=35
Thu Jul 12 23:41:39 EEST 2007 ^ k1ller=67 @nDr3w=36
Thu Jul 12 23:41:40 EEST 2007 ^ k1ller=69 @nDr3w=33
Thu Jul 12 23:41:41 EEST 2007 ^ k1ller=69 @nDr3w=34
Thu Jul 12 23:41:42 EEST 2007 ^ k1ller=69 @nDr3w=34
Thu Jul 12 23:41:43 EEST 2007 ^ k1ller=68 @nDr3w=35
Thu Jul 12 23:41:44 EEST 2007 ^ k1ller=69 @nDr3w=35
Thu Jul 12 23:41:46 EEST 2007 ^ k1ller=68 @nDr3w=38
Thu Jul 12 23:41:47 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:41:48 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:41:49 EEST 2007 ^ k1ller=68 @nDr3w=34
Thu Jul 12 23:41:50 EEST 2007 ^ k1ller=68 @nDr3w=35
Thu Jul 12 23:41:51 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:41:52 EEST 2007 ^ k1ller=68 @nDr3w=34
Thu Jul 12 23:41:53 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:41:54 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:41:55 EEST 2007 ^ k1ller=68 @nDr3w=33
Thu Jul 12 23:41:56 EEST 2007 ^ k1ller=69 @nDr3w=32
Thu Jul 12 23:41:57 EEST 2007 ^ k1ller=68 @nDr3w=34
Thu Jul 12 23:41:58 EEST 2007 ^ k1ller=68 @nDr3w=35
Thu Jul 12 23:42:00 EEST 2007 ^ k1ller=69 @nDr3w=41
Thu Jul 12 23:42:01 EEST 2007 ^ k1ller=68 @nDr3w=41
Thu Jul 12 23:42:02 EEST 2007 ^ k1ller=68 @nDr3w=43
Thu Jul 12 23:42:03 EEST 2007 ^ k1ller=68 @nDr3w=41
Thu Jul 12 23:42:04 EEST 2007 ^ k1ller=69 @nDr3w=33
Thu Jul 12 23:42:05 EEST 2007 ^ k1ller=68 @nDr3w=37
Thu Jul 12 23:42:06 EEST 2007 ^ k1ller=69 @nDr3w=40
Thu Jul 12 23:42:07 EEST 2007 ^ k1ller=69 @nDr3w=36
Thu Jul 12 23:42:08 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:42:09 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:42:10 EEST 2007 ^ k1ller=69 @nDr3w=41
Thu Jul 12 23:42:11 EEST 2007 ^ k1ller=69 @nDr3w=39
Thu Jul 12 23:42:12 EEST 2007 ^ k1ller=68 @nDr3w=33
Thu Jul 12 23:42:13 EEST 2007 ^ k1ller=67 @nDr3w=33
Thu Jul 12 23:42:14 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:42:15 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:42:17 EEST 2007 ^ k1ller=67 @nDr3w=33
Thu Jul 12 23:42:18 EEST 2007 ^ k1ller=68 @nDr3w=39
Thu Jul 12 23:42:19 EEST 2007 ^ k1ller=68 @nDr3w=38
Thu Jul 12 23:42:20 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:42:21 EEST 2007 ^ k1ller=69 @nDr3w=42
Thu Jul 12 23:42:22 EEST 2007 ^ k1ller=70 @nDr3w=41
Thu Jul 12 23:42:23 EEST 2007 ^ k1ller=68 @nDr3w=42
Thu Jul 12 23:42:24 EEST 2007 ^ k1ller=68 @nDr3w=43
Thu Jul 12 23:42:25 EEST 2007 ^ k1ller=68 @nDr3w=46
Thu Jul 12 23:42:26 EEST 2007 ^ k1ller=68 @nDr3w=43
Thu Jul 12 23:42:27 EEST 2007 ^ k1ller=67 @nDr3w=38
Thu Jul 12 23:42:28 EEST 2007 ^ k1ller=68 @nDr3w=43
Thu Jul 12 23:42:29 EEST 2007 ^ k1ller=68 @nDr3w=38
Thu Jul 12 23:42:30 EEST 2007 ^ k1ller=69 @nDr3w=39
Thu Jul 12 23:42:31 EEST 2007 ^ k1ller=69 @nDr3w=38
Thu Jul 12 23:42:33 EEST 2007 ^ k1ller=68 @nDr3w=37
Thu Jul 12 23:42:34 EEST 2007 ^ k1ller=68 @nDr3w=38
Thu Jul 12 23:42:35 EEST 2007 ^ k1ller=68 @nDr3w=38
Thu Jul 12 23:42:36 EEST 2007 ^ k1ller=68 @nDr3w=48
Thu Jul 12 23:42:37 EEST 2007 ^ k1ller=68 @nDr3w=45
Thu Jul 12 23:42:38 EEST 2007 ^ k1ller=66 @nDr3w=39
Thu Jul 12 23:42:39 EEST 2007 ^ k1ller=67 @nDr3w=38
Thu Jul 12 23:42:40 EEST 2007 ^ k1ller=67 @nDr3w=36
Thu Jul 12 23:42:41 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:42:42 EEST 2007 ^ k1ller=68 @nDr3w=38
Thu Jul 12 23:42:43 EEST 2007 ^ k1ller=67 @nDr3w=36
Thu Jul 12 23:42:44 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:42:45 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:42:46 EEST 2007 ^ k1ller=68 @nDr3w=37
Thu Jul 12 23:42:47 EEST 2007 ^ k1ller=69 @nDr3w=38
Thu Jul 12 23:42:48 EEST 2007 ^ k1ller=67 @nDr3w=45
Thu Jul 12 23:42:49 EEST 2007 ^ k1ller=69 @nDr3w=40
Thu Jul 12 23:42:50 EEST 2007 ^ k1ller=67 @nDr3w=34
Thu Jul 12 23:42:52 EEST 2007 ^ k1ller=68 @nDr3w=34
Thu Jul 12 23:42:53 EEST 2007 ^ k1ller=67 @nDr3w=34
Thu Jul 12 23:42:54 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:42:55 EEST 2007 ^ k1ller=67 @nDr3w=33
Thu Jul 12 23:42:56 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:42:57 EEST 2007 ^ k1ller=67 @nDr3w=39
Thu Jul 12 23:42:58 EEST 2007 ^ k1ller=68 @nDr3w=42
Thu Jul 12 23:42:59 EEST 2007 ^ k1ller=68 @nDr3w=37
Thu Jul 12 23:43:00 EEST 2007 ^ k1ller=68 @nDr3w=44
Thu Jul 12 23:43:01 EEST 2007 ^ k1ller=68 @nDr3w=49
Thu Jul 12 23:43:02 EEST 2007 ^ k1ller=68 @nDr3w=48
Thu Jul 12 23:43:03 EEST 2007 ^ k1ller=68 @nDr3w=49
Thu Jul 12 23:43:04 EEST 2007 ^ k1ller=68 @nDr3w=51
Thu Jul 12 23:43:05 EEST 2007 ^ k1ller=67 @nDr3w=52
Thu Jul 12 23:43:06 EEST 2007 ^ k1ller=68 @nDr3w=51
Thu Jul 12 23:43:07 EEST 2007 ^ k1ller=68 @nDr3w=44
Thu Jul 12 23:43:08 EEST 2007 ^ k1ller=64 @nDr3w=33
Thu Jul 12 23:43:09 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:43:10 EEST 2007 ^ k1ller=68 @nDr3w=33
Thu Jul 12 23:43:12 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:43:13 EEST 2007 ^ k1ller=67 @nDr3w=37
Thu Jul 12 23:43:14 EEST 2007 ^ k1ller=62 @nDr3w=30
Thu Jul 12 23:43:15 EEST 2007 ^ k1ller=67 @nDr3w=24
Thu Jul 12 23:43:16 EEST 2007 ^ k1ller=65 @nDr3w=22
Thu Jul 12 23:43:17 EEST 2007 ^ k1ller=67 @nDr3w=22
Thu Jul 12 23:43:18 EEST 2007 ^ k1ller=66 @nDr3w=22
Thu Jul 12 23:43:19 EEST 2007 ^ k1ller=67 @nDr3w=18
Thu Jul 12 23:43:20 EEST 2007 ^ k1ller=69 @nDr3w=21
Thu Jul 12 23:43:21 EEST 2007 ^ k1ller=64 @nDr3w=1
Thu Jul 12 23:43:22 EEST 2007 ^ k1ller=62 @nDr3w=18
Thu Jul 12 23:43:23 EEST 2007 ^ k1ller=65 @nDr3w=18
Thu Jul 12 23:43:24 EEST 2007 ^ k1ller=67 @nDr3w=20
Thu Jul 12 23:43:25 EEST 2007 ^ k1ller=67 @nDr3w=22
Thu Jul 12 23:43:26 EEST 2007 ^ k1ller=67 @nDr3w=19
Thu Jul 12 23:43:27 EEST 2007 ^ k1ller=68 @nDr3w=19
Thu Jul 12 23:43:28 EEST 2007 ^ k1ller=69 @nDr3w=25
Thu Jul 12 23:43:29 EEST 2007 ^ k1ller=67 @nDr3w=29
Thu Jul 12 23:43:31 EEST 2007 ^ k1ller=69 @nDr3w=27
Thu Jul 12 23:43:32 EEST 2007 ^ k1ller=69 @nDr3w=33
Thu Jul 12 23:43:33 EEST 2007 ^ k1ller=68 @nDr3w=28
Thu Jul 12 23:43:34 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:43:35 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:43:36 EEST 2007 ^ k1ller=67 @nDr3w=21
Thu Jul 12 23:43:37 EEST 2007 ^ k1ller=68 @nDr3w=22
Thu Jul 12 23:43:38 EEST 2007 ^ k1ller=68 @nDr3w=27
Thu Jul 12 23:43:39 EEST 2007 ^ k1ller=68 @nDr3w=24
Thu Jul 12 23:43:40 EEST 2007 ^ k1ller=67 @nDr3w=25
Thu Jul 12 23:43:41 EEST 2007 ^ k1ller=67 @nDr3w=29
Thu Jul 12 23:43:42 EEST 2007 ^ k1ller=69 @nDr3w=27
Thu Jul 12 23:43:43 EEST 2007 ^ k1ller=69 @nDr3w=26
Thu Jul 12 23:43:44 EEST 2007 ^ k1ller=64 @nDr3w=20
Thu Jul 12 23:43:45 EEST 2007 ^ k1ller=64 @nDr3w=21
Thu Jul 12 23:43:46 EEST 2007 ^ k1ller=62 @nDr3w=18
Thu Jul 12 23:43:47 EEST 2007 ^ k1ller=69 @nDr3w=27
Thu Jul 12 23:43:49 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:43:50 EEST 2007 ^ k1ller=68 @nDr3w=27
Thu Jul 12 23:43:51 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:43:52 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:43:53 EEST 2007 ^ k1ller=67 @nDr3w=26
Thu Jul 12 23:43:54 EEST 2007 ^ k1ller=67 @nDr3w=26
Thu Jul 12 23:43:55 EEST 2007 ^ k1ller=69 @nDr3w=29
Thu Jul 12 23:43:56 EEST 2007 ^ k1ller=67 @nDr3w=28
Thu Jul 12 23:43:57 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:43:58 EEST 2007 ^ k1ller=68 @nDr3w=35
Thu Jul 12 23:43:59 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:44:00 EEST 2007 ^ k1ller=68 @nDr3w=20
Thu Jul 12 23:44:01 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:44:02 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:44:03 EEST 2007 ^ k1ller=69 @nDr3w=30
Thu Jul 12 23:44:04 EEST 2007 ^ k1ller=69 @nDr3w=29
Thu Jul 12 23:44:06 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:44:07 EEST 2007 ^ k1ller=68 @nDr3w=27
Thu Jul 12 23:44:08 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:44:09 EEST 2007 ^ k1ller=67 @nDr3w=25
Thu Jul 12 23:44:10 EEST 2007 ^ k1ller=68 @nDr3w=22
Thu Jul 12 23:44:11 EEST 2007 ^ k1ller=67 @nDr3w=24
Thu Jul 12 23:44:12 EEST 2007 ^ k1ller=68 @nDr3w=22
Thu Jul 12 23:44:13 EEST 2007 ^ k1ller=67 @nDr3w=27
Thu Jul 12 23:44:14 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:44:15 EEST 2007 ^ k1ller=67 @nDr3w=28
Thu Jul 12 23:44:16 EEST 2007 ^ k1ller=69 @nDr3w=28
Thu Jul 12 23:44:17 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:44:18 EEST 2007 ^ k1ller=67 @nDr3w=17
Thu Jul 12 23:44:19 EEST 2007 ^ k1ller=68 @nDr3w=22
Thu Jul 12 23:44:20 EEST 2007 ^ k1ller=67 @nDr3w=23
Thu Jul 12 23:44:21 EEST 2007 ^ k1ller=69 @nDr3w=21
Thu Jul 12 23:44:22 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:44:24 EEST 2007 ^ k1ller=68 @nDr3w=25
Thu Jul 12 23:44:25 EEST 2007 ^ k1ller=66 @nDr3w=26
Thu Jul 12 23:44:26 EEST 2007 ^ k1ller=67 @nDr3w=25
Thu Jul 12 23:44:27 EEST 2007 ^ k1ller=68 @nDr3w=24
Thu Jul 12 23:44:28 EEST 2007 ^ k1ller=68 @nDr3w=27
Thu Jul 12 23:44:29 EEST 2007 ^ k1ller=67 @nDr3w=27
Thu Jul 12 23:44:30 EEST 2007 ^ k1ller=67 @nDr3w=24
Thu Jul 12 23:44:31 EEST 2007 ^ k1ller=68 @nDr3w=24
Thu Jul 12 23:44:32 EEST 2007 ^ k1ller=67 @nDr3w=31
Thu Jul 12 23:44:33 EEST 2007 ^ k1ller=69 @nDr3w=31
Thu Jul 12 23:44:34 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:44:35 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:44:36 EEST 2007 ^ k1ller=69 @nDr3w=24
Thu Jul 12 23:44:37 EEST 2007 ^ k1ller=68 @nDr3w=28
Thu Jul 12 23:44:38 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:44:39 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:44:41 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:44:42 EEST 2007 ^ k1ller=68 @nDr3w=28
Thu Jul 12 23:44:43 EEST 2007 ^ k1ller=68 @nDr3w=20
Thu Jul 12 23:44:44 EEST 2007 ^ k1ller=69 @nDr3w=32
Thu Jul 12 23:44:45 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:44:46 EEST 2007 ^ k1ller=68 @nDr3w=33
Thu Jul 12 23:44:47 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:44:48 EEST 2007 ^ k1ller=67 @nDr3w=28
Thu Jul 12 23:44:49 EEST 2007 ^ k1ller=68 @nDr3w=27
Thu Jul 12 23:44:50 EEST 2007 ^ k1ller=70 @nDr3w=27
Thu Jul 12 23:44:51 EEST 2007 ^ k1ller=69 @nDr3w=32
Thu Jul 12 23:44:52 EEST 2007 ^ k1ller=67 @nDr3w=26
Thu Jul 12 23:44:53 EEST 2007 ^ k1ller=68 @nDr3w=37
Thu Jul 12 23:44:54 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:44:55 EEST 2007 ^ k1ller=69 @nDr3w=33
Thu Jul 12 23:44:57 EEST 2007 ^ k1ller=68 @nDr3w=39
Thu Jul 12 23:44:58 EEST 2007 ^ k1ller=68 @nDr3w=33
Thu Jul 12 23:44:59 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:45:00 EEST 2007 ^ k1ller=67 @nDr3w=47
Thu Jul 12 23:45:01 EEST 2007 ^ k1ller=69 @nDr3w=43
Thu Jul 12 23:45:02 EEST 2007 ^ k1ller=69 @nDr3w=32
Thu Jul 12 23:45:03 EEST 2007 ^ k1ller=67 @nDr3w=40
Thu Jul 12 23:45:04 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:45:05 EEST 2007 ^ k1ller=69 @nDr3w=41
Thu Jul 12 23:45:06 EEST 2007 ^ k1ller=68 @nDr3w=39
Thu Jul 12 23:45:07 EEST 2007 ^ k1ller=67 @nDr3w=35
Thu Jul 12 23:45:08 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:45:09 EEST 2007 ^ k1ller=67 @nDr3w=29
Thu Jul 12 23:45:10 EEST 2007 ^ k1ller=67 @nDr3w=27
Thu Jul 12 23:45:11 EEST 2007 ^ k1ller=67 @nDr3w=27
Thu Jul 12 23:45:12 EEST 2007 ^ k1ller=67 @nDr3w=25
Thu Jul 12 23:45:14 EEST 2007 ^ k1ller=67 @nDr3w=23
Thu Jul 12 23:45:15 EEST 2007 ^ k1ller=69 @nDr3w=18
Thu Jul 12 23:45:16 EEST 2007 ^ k1ller=69 @nDr3w=30
Thu Jul 12 23:45:17 EEST 2007 ^ k1ller=67 @nDr3w=38
Thu Jul 12 23:45:18 EEST 2007 ^ k1ller=69 @nDr3w=46
Thu Jul 12 23:45:19 EEST 2007 ^ k1ller=69 @nDr3w=33
Thu Jul 12 23:45:20 EEST 2007 ^ k1ller=69 @nDr3w=38
Thu Jul 12 23:45:21 EEST 2007 ^ k1ller=69 @nDr3w=49
Thu Jul 12 23:45:22 EEST 2007 ^ k1ller=69 @nDr3w=47
Thu Jul 12 23:45:23 EEST 2007 ^ k1ller=68 @nDr3w=43
Thu Jul 12 23:45:24 EEST 2007 ^ k1ller=66 @nDr3w=39
Thu Jul 12 23:45:25 EEST 2007 ^ k1ller=68 @nDr3w=37
Thu Jul 12 23:45:26 EEST 2007 ^ k1ller=68 @nDr3w=45
Thu Jul 12 23:45:27 EEST 2007 ^ k1ller=68 @nDr3w=46
Thu Jul 12 23:45:28 EEST 2007 ^ k1ller=67 @nDr3w=44
Thu Jul 12 23:45:30 EEST 2007 ^ k1ller=69 @nDr3w=45
Thu Jul 12 23:45:31 EEST 2007 ^ k1ller=66 @nDr3w=44
Thu Jul 12 23:45:32 EEST 2007 ^ k1ller=69 @nDr3w=50
Thu Jul 12 23:45:33 EEST 2007 ^ k1ller=67 @nDr3w=34
Thu Jul 12 23:45:34 EEST 2007 ^ k1ller=68 @nDr3w=43
Thu Jul 12 23:45:35 EEST 2007 ^ k1ller=67 @nDr3w=39
Thu Jul 12 23:45:36 EEST 2007 ^ k1ller=68 @nDr3w=39
Thu Jul 12 23:45:37 EEST 2007 ^ k1ller=68 @nDr3w=42
Thu Jul 12 23:45:38 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:45:39 EEST 2007 ^ k1ller=67 @nDr3w=34
Thu Jul 12 23:45:40 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:45:41 EEST 2007 ^ k1ller=67 @nDr3w=30
Thu Jul 12 23:45:42 EEST 2007 ^ k1ller=67 @nDr3w=32
Thu Jul 12 23:45:43 EEST 2007 ^ k1ller=67 @nDr3w=27
Thu Jul 12 23:45:44 EEST 2007 ^ k1ller=67 @nDr3w=30
Thu Jul 12 23:45:45 EEST 2007 ^ k1ller=67 @nDr3w=27
Thu Jul 12 23:45:46 EEST 2007 ^ k1ller=68 @nDr3w=37
Thu Jul 12 23:45:48 EEST 2007 ^ k1ller=67 @nDr3w=33
Thu Jul 12 23:45:49 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:45:50 EEST 2007 ^ k1ller=67 @nDr3w=32
Thu Jul 12 23:45:51 EEST 2007 ^ k1ller=66 @nDr3w=31
Thu Jul 12 23:45:52 EEST 2007 ^ k1ller=67 @nDr3w=28
Thu Jul 12 23:45:53 EEST 2007 ^ k1ller=67 @nDr3w=27
Thu Jul 12 23:45:54 EEST 2007 ^ k1ller=67 @nDr3w=27
Thu Jul 12 23:45:55 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:45:56 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:45:57 EEST 2007 ^ k1ller=68 @nDr3w=35
Thu Jul 12 23:45:58 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:45:59 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:46:00 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:46:01 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:46:02 EEST 2007 ^ k1ller=68 @nDr3w=35
Thu Jul 12 23:46:03 EEST 2007 ^ k1ller=67 @nDr3w=29
Thu Jul 12 23:46:04 EEST 2007 ^ k1ller=67 @nDr3w=29
Thu Jul 12 23:46:06 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:46:07 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:46:08 EEST 2007 ^ k1ller=69 @nDr3w=33
Thu Jul 12 23:46:09 EEST 2007 ^ k1ller=69 @nDr3w=37
Thu Jul 12 23:46:10 EEST 2007 ^ k1ller=69 @nDr3w=40
Thu Jul 12 23:46:11 EEST 2007 ^ k1ller=68 @nDr3w=37
Thu Jul 12 23:46:12 EEST 2007 ^ k1ller=68 @nDr3w=33
Thu Jul 12 23:46:13 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:46:14 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:46:15 EEST 2007 ^ k1ller=67 @nDr3w=35
Thu Jul 12 23:46:16 EEST 2007 ^ k1ller=64 @nDr3w=22
Thu Jul 12 23:46:17 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:46:18 EEST 2007 ^ k1ller=68 @nDr3w=33
Thu Jul 12 23:46:19 EEST 2007 ^ k1ller=67 @nDr3w=39
Thu Jul 12 23:46:20 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:46:21 EEST 2007 ^ k1ller=68 @nDr3w=20
Thu Jul 12 23:46:23 EEST 2007 ^ k1ller=69 @nDr3w=19
Thu Jul 12 23:46:24 EEST 2007 ^ k1ller=67 @nDr3w=19
Thu Jul 12 23:46:25 EEST 2007 ^ k1ller=68 @nDr3w=24
Thu Jul 12 23:46:26 EEST 2007 ^ k1ller=68 @nDr3w=18
Thu Jul 12 23:46:27 EEST 2007 ^ k1ller=69 @nDr3w=17
Thu Jul 12 23:46:28 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:46:29 EEST 2007 ^ k1ller=68 @nDr3w=27
Thu Jul 12 23:46:30 EEST 2007 ^ k1ller=68 @nDr3w=27
Thu Jul 12 23:46:31 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:46:32 EEST 2007 ^ k1ller=68 @nDr3w=25
Thu Jul 12 23:46:33 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:46:34 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:46:35 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:46:36 EEST 2007 ^ k1ller=68 @nDr3w=34
Thu Jul 12 23:46:37 EEST 2007 ^ k1ller=69 @nDr3w=32
Thu Jul 12 23:46:39 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:46:40 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:46:41 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:46:42 EEST 2007 ^ k1ller=68 @nDr3w=34
Thu Jul 12 23:46:43 EEST 2007 ^ k1ller=68 @nDr3w=20
Thu Jul 12 23:46:44 EEST 2007 ^ k1ller=68 @nDr3w=25
Thu Jul 12 23:46:45 EEST 2007 ^ k1ller=66 @nDr3w=18
Thu Jul 12 23:46:46 EEST 2007 ^ k1ller=68 @nDr3w=27
Thu Jul 12 23:46:47 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:46:48 EEST 2007 ^ k1ller=67 @nDr3w=31
Thu Jul 12 23:46:49 EEST 2007 ^ k1ller=68 @nDr3w=28
Thu Jul 12 23:46:50 EEST 2007 ^ k1ller=67 @nDr3w=29
Thu Jul 12 23:46:51 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:46:52 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:46:53 EEST 2007 ^ k1ller=68 @nDr3w=25
Thu Jul 12 23:46:54 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:46:55 EEST 2007 ^ k1ller=68 @nDr3w=21
Thu Jul 12 23:46:56 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:46:58 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:46:59 EEST 2007 ^ k1ller=69 @nDr3w=33
Thu Jul 12 23:47:00 EEST 2007 ^ k1ller=68 @nDr3w=35
Thu Jul 12 23:47:01 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:47:02 EEST 2007 ^ k1ller=68 @nDr3w=37
Thu Jul 12 23:47:03 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:47:04 EEST 2007 ^ k1ller=68 @nDr3w=38
Thu Jul 12 23:47:05 EEST 2007 ^ k1ller=68 @nDr3w=37
Thu Jul 12 23:47:06 EEST 2007 ^ k1ller=66 @nDr3w=38
Thu Jul 12 23:47:07 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:47:08 EEST 2007 ^ k1ller=68 @nDr3w=40
Thu Jul 12 23:47:09 EEST 2007 ^ k1ller=68 @nDr3w=39
Thu Jul 12 23:47:10 EEST 2007 ^ k1ller=68 @nDr3w=39
Thu Jul 12 23:47:11 EEST 2007 ^ k1ller=68 @nDr3w=44
Thu Jul 12 23:47:12 EEST 2007 ^ k1ller=69 @nDr3w=46
Thu Jul 12 23:47:13 EEST 2007 ^ k1ller=68 @nDr3w=48
Thu Jul 12 23:47:15 EEST 2007 ^ k1ller=68 @nDr3w=48
Thu Jul 12 23:47:16 EEST 2007 ^ k1ller=68 @nDr3w=49
Thu Jul 12 23:47:17 EEST 2007 ^ k1ller=68 @nDr3w=48
Thu Jul 12 23:47:18 EEST 2007 ^ k1ller=68 @nDr3w=44
Thu Jul 12 23:47:19 EEST 2007 ^ k1ller=68 @nDr3w=44
Thu Jul 12 23:47:20 EEST 2007 ^ k1ller=68 @nDr3w=46
Thu Jul 12 23:47:21 EEST 2007 ^ k1ller=67 @nDr3w=45
Thu Jul 12 23:47:22 EEST 2007 ^ k1ller=68 @nDr3w=45
Thu Jul 12 23:47:23 EEST 2007 ^ k1ller=68 @nDr3w=46
Thu Jul 12 23:47:24 EEST 2007 ^ k1ller=67 @nDr3w=45
Thu Jul 12 23:47:25 EEST 2007 ^ k1ller=68 @nDr3w=45
Thu Jul 12 23:47:26 EEST 2007 ^ k1ller=67 @nDr3w=46
Thu Jul 12 23:47:27 EEST 2007 ^ k1ller=63 @nDr3w=22
Thu Jul 12 23:47:28 EEST 2007 ^ k1ller=67 @nDr3w=26
Thu Jul 12 23:47:29 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:47:30 EEST 2007 ^ k1ller=67 @nDr3w=23
Thu Jul 12 23:47:31 EEST 2007 ^ k1ller=64 @nDr3w=20
Thu Jul 12 23:47:32 EEST 2007 ^ k1ller=64 @nDr3w=15
Thu Jul 12 23:47:33 EEST 2007 ^ k1ller=59 @nDr3w=19
Thu Jul 12 23:47:35 EEST 2007 ^ k1ller=60 @nDr3w=18
Thu Jul 12 23:47:36 EEST 2007 ^ k1ller=67 @nDr3w=17
Thu Jul 12 23:47:37 EEST 2007 ^ k1ller=66 @nDr3w=19
Thu Jul 12 23:47:38 EEST 2007 ^ k1ller=66 @nDr3w=19
Thu Jul 12 23:47:39 EEST 2007 ^ k1ller=69 @nDr3w=17
Thu Jul 12 23:47:40 EEST 2007 ^ k1ller=67 @nDr3w=20
Thu Jul 12 23:47:41 EEST 2007 ^ k1ller=69 @nDr3w=24
Thu Jul 12 23:47:42 EEST 2007 ^ k1ller=70 @nDr3w=23
Thu Jul 12 23:47:43 EEST 2007 ^ k1ller=68 @nDr3w=28
Thu Jul 12 23:47:44 EEST 2007 ^ k1ller=69 @nDr3w=28
Thu Jul 12 23:47:45 EEST 2007 ^ k1ller=68 @nDr3w=25
Thu Jul 12 23:47:46 EEST 2007 ^ k1ller=66 @nDr3w=26
Thu Jul 12 23:47:47 EEST 2007 ^ k1ller=66 @nDr3w=23
Thu Jul 12 23:47:48 EEST 2007 ^ k1ller=67 @nDr3w=26
Thu Jul 12 23:47:49 EEST 2007 ^ k1ller=67 @nDr3w=25
Thu Jul 12 23:47:50 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:47:52 EEST 2007 ^ k1ller=69 @nDr3w=27
Thu Jul 12 23:47:53 EEST 2007 ^ k1ller=67 @nDr3w=29
Thu Jul 12 23:47:54 EEST 2007 ^ k1ller=69 @nDr3w=31
Thu Jul 12 23:47:55 EEST 2007 ^ k1ller=68 @nDr3w=28
Thu Jul 12 23:47:56 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:47:57 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:47:58 EEST 2007 ^ k1ller=68 @nDr3w=24
Thu Jul 12 23:47:59 EEST 2007 ^ k1ller=66 @nDr3w=31
Thu Jul 12 23:48:00 EEST 2007 ^ k1ller=67 @nDr3w=29
Thu Jul 12 23:48:01 EEST 2007 ^ k1ller=68 @nDr3w=34
Thu Jul 12 23:48:02 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:48:03 EEST 2007 ^ k1ller=68 @nDr3w=33
Thu Jul 12 23:48:04 EEST 2007 ^ k1ller=68 @nDr3w=34
Thu Jul 12 23:48:05 EEST 2007 ^ k1ller=68 @nDr3w=37
Thu Jul 12 23:48:06 EEST 2007 ^ k1ller=69 @nDr3w=34
Thu Jul 12 23:48:07 EEST 2007 ^ k1ller=68 @nDr3w=35
Thu Jul 12 23:48:08 EEST 2007 ^ k1ller=69 @nDr3w=34
Thu Jul 12 23:48:10 EEST 2007 ^ k1ller=69 @nDr3w=30
Thu Jul 12 23:48:11 EEST 2007 ^ k1ller=68 @nDr3w=25
Thu Jul 12 23:48:12 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:48:13 EEST 2007 ^ k1ller=68 @nDr3w=33
Thu Jul 12 23:48:14 EEST 2007 ^ k1ller=67 @nDr3w=32
Thu Jul 12 23:48:15 EEST 2007 ^ k1ller=69 @nDr3w=28
Thu Jul 12 23:48:16 EEST 2007 ^ k1ller=68 @nDr3w=33
Thu Jul 12 23:48:17 EEST 2007 ^ k1ller=69 @nDr3w=25
Thu Jul 12 23:48:18 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:48:19 EEST 2007 ^ k1ller=68 @nDr3w=27
Thu Jul 12 23:48:20 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:48:21 EEST 2007 ^ k1ller=68 @nDr3w=28
Thu Jul 12 23:48:22 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:48:23 EEST 2007 ^ k1ller=68 @nDr3w=33
Thu Jul 12 23:48:24 EEST 2007 ^ k1ller=68 @nDr3w=36
Thu Jul 12 23:48:26 EEST 2007 ^ k1ller=69 @nDr3w=26
Thu Jul 12 23:48:27 EEST 2007 ^ k1ller=69 @nDr3w=27
Thu Jul 12 23:48:28 EEST 2007 ^ k1ller=68 @nDr3w=27
Thu Jul 12 23:48:29 EEST 2007 ^ k1ller=69 @nDr3w=25
Thu Jul 12 23:48:30 EEST 2007 ^ k1ller=67 @nDr3w=27
Thu Jul 12 23:48:31 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:48:32 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:48:33 EEST 2007 ^ k1ller=67 @nDr3w=28
Thu Jul 12 23:48:34 EEST 2007 ^ k1ller=70 @nDr3w=29
Thu Jul 12 23:48:35 EEST 2007 ^ k1ller=69 @nDr3w=29
Thu Jul 12 23:48:36 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:48:37 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:48:38 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:48:39 EEST 2007 ^ k1ller=67 @nDr3w=25
Thu Jul 12 23:48:40 EEST 2007 ^ k1ller=68 @nDr3w=25
Thu Jul 12 23:48:41 EEST 2007 ^ k1ller=67 @nDr3w=23
Thu Jul 12 23:48:43 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:48:44 EEST 2007 ^ k1ller=67 @nDr3w=28
Thu Jul 12 23:48:45 EEST 2007 ^ k1ller=68 @nDr3w=25
Thu Jul 12 23:48:46 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:48:47 EEST 2007 ^ k1ller=67 @nDr3w=26
Thu Jul 12 23:48:48 EEST 2007 ^ k1ller=66 @nDr3w=23
Thu Jul 12 23:48:49 EEST 2007 ^ k1ller=67 @nDr3w=26
Thu Jul 12 23:48:50 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:48:51 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:48:52 EEST 2007 ^ k1ller=68 @nDr3w=22
Thu Jul 12 23:48:53 EEST 2007 ^ k1ller=69 @nDr3w=23
Thu Jul 12 23:48:54 EEST 2007 ^ k1ller=66 @nDr3w=24
Thu Jul 12 23:48:55 EEST 2007 ^ k1ller=67 @nDr3w=25
Thu Jul 12 23:48:56 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:48:57 EEST 2007 ^ k1ller=69 @nDr3w=27
Thu Jul 12 23:48:59 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:49:00 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:49:01 EEST 2007 ^ k1ller=68 @nDr3w=28
Thu Jul 12 23:49:02 EEST 2007 ^ k1ller=68 @nDr3w=24
Thu Jul 12 23:49:03 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:49:04 EEST 2007 ^ k1ller=67 @nDr3w=32
Thu Jul 12 23:49:05 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:49:06 EEST 2007 ^ k1ller=68 @nDr3w=27
Thu Jul 12 23:49:07 EEST 2007 ^ k1ller=68 @nDr3w=25
Thu Jul 12 23:49:08 EEST 2007 ^ k1ller=68 @nDr3w=28
Thu Jul 12 23:49:09 EEST 2007 ^ k1ller=67 @nDr3w=31
Thu Jul 12 23:49:10 EEST 2007 ^ k1ller=68 @nDr3w=25
Thu Jul 12 23:49:11 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:49:12 EEST 2007 ^ k1ller=68 @nDr3w=25
Thu Jul 12 23:49:13 EEST 2007 ^ k1ller=68 @nDr3w=15
Thu Jul 12 23:49:14 EEST 2007 ^ k1ller=67 @nDr3w=27
Thu Jul 12 23:49:15 EEST 2007 ^ k1ller=67 @nDr3w=16
Thu Jul 12 23:49:16 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:49:18 EEST 2007 ^ k1ller=68 @nDr3w=25
Thu Jul 12 23:49:19 EEST 2007 ^ k1ller=67 @nDr3w=27
Thu Jul 12 23:49:20 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:49:21 EEST 2007 ^ k1ller=66 @nDr3w=30
Thu Jul 12 23:49:22 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:49:23 EEST 2007 ^ k1ller=68 @nDr3w=27
Thu Jul 12 23:49:24 EEST 2007 ^ k1ller=68 @nDr3w=28
Thu Jul 12 23:49:25 EEST 2007 ^ k1ller=64 @nDr3w=17
Thu Jul 12 23:49:26 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:49:27 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:49:28 EEST 2007 ^ k1ller=68 @nDr3w=20
Thu Jul 12 23:49:29 EEST 2007 ^ k1ller=67 @nDr3w=19
Thu Jul 12 23:49:30 EEST 2007 ^ k1ller=67 @nDr3w=20
Thu Jul 12 23:49:31 EEST 2007 ^ k1ller=68 @nDr3w=20
Thu Jul 12 23:49:32 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:49:33 EEST 2007 ^ k1ller=68 @nDr3w=21
Thu Jul 12 23:49:34 EEST 2007 ^ k1ller=68 @nDr3w=18
Thu Jul 12 23:49:36 EEST 2007 ^ k1ller=68 @nDr3w=22
Thu Jul 12 23:49:37 EEST 2007 ^ k1ller=69 @nDr3w=17
Thu Jul 12 23:49:38 EEST 2007 ^ k1ller=67 @nDr3w=19
Thu Jul 12 23:49:39 EEST 2007 ^ k1ller=69 @nDr3w=21
Thu Jul 12 23:49:40 EEST 2007 ^ k1ller=67 @nDr3w=18
Thu Jul 12 23:49:41 EEST 2007 ^ k1ller=69 @nDr3w=24
Thu Jul 12 23:49:42 EEST 2007 ^ k1ller=68 @nDr3w=27
Thu Jul 12 23:49:43 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:49:44 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:49:45 EEST 2007 ^ k1ller=68 @nDr3w=31
Thu Jul 12 23:49:46 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:49:47 EEST 2007 ^ k1ller=66 @nDr3w=30
Thu Jul 12 23:49:48 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:49:49 EEST 2007 ^ k1ller=69 @nDr3w=31
Thu Jul 12 23:49:50 EEST 2007 ^ k1ller=69 @nDr3w=31
Thu Jul 12 23:49:51 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:49:53 EEST 2007 ^ k1ller=68 @nDr3w=28
Thu Jul 12 23:49:54 EEST 2007 ^ k1ller=68 @nDr3w=29
Thu Jul 12 23:49:55 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:49:56 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:49:57 EEST 2007 ^ k1ller=67 @nDr3w=28
Thu Jul 12 23:49:58 EEST 2007 ^ k1ller=67 @nDr3w=27
Thu Jul 12 23:49:59 EEST 2007 ^ k1ller=68 @nDr3w=26
Thu Jul 12 23:50:00 EEST 2007 ^ k1ller=68 @nDr3w=32
Thu Jul 12 23:50:01 EEST 2007 ^ k1ller=69 @nDr3w=35
Thu Jul 12 23:50:02 EEST 2007 ^ k1ller=68 @nDr3w=33
Thu Jul 12 23:50:03 EEST 2007 ^ k1ller=68 @nDr3w=30
Thu Jul 12 23:50:04 EEST 2007 ^ k1ller=66 @nDr3w=27
Thu Jul 12 23:50:05 EEST 2007 ^ k1ller=68 @nDr3w=25
Thu Jul 12 23:50:06 EEST 2007 ^ k1ller=68 @nDr3w=24
Thu Jul 12 23:50:08 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:50:09 EEST 2007 ^ k1ller=68 @nDr3w=23
Thu Jul 12 23:50:10 EEST 2007 ^ k1ller=68 @nDr3w=28

Technical view

The script used to compile these stats is quite simple. The script parses
the output of Linux’s default firewall program “iptables”. First the
script runs iptables command and parses values from the output for the
initial values. Then the script waits for one second, after which it does
exactly the same as the first time. This way it gets two data samples, from
which it can calculate how many packets were send during one second.

The script runs continuously until interrupted. It prints one line every second.

In preparation there must be set two firewall rules, which keep track of the data.

iptables -I INPUT -p udp –dport 27015 -s x.x.x.x
iptables -I INPUT -p udp –dport 27015 -s y.y.y.y

Where x.x.x.x and y.y.y.y are the IPs of the players.

The script was run for 10 minutes by following command:

"./rate-stat.sh & sleep 600; killall rate-stat.sh"

The script (rate-stat.sh)


#!/bin/sh
port=27015
host1=x.x.x.x
host2=y.y.y.y

while [ 1 ]
do
start1=`iptables -L -v -n -x|grep $host1|grep dpt:$port|sed ’s/^ *//g’|cut -f 1 -d ” “`
start2=`iptables -L -v -n -x|grep $host2|grep dpt:$port|sed ’s/^ *//g’|cut -f 1 -d ” “`
sleep 1
end1=`iptables -L -v -n -x|grep $host1|grep $port|sed ’s/^ *//g’|cut -f 1 -d ” “`
end2=`iptables -L -v -n -x|grep $host2|grep $port|sed ’s/^ *//g’|cut -f 1 -d ” “`
if [ “$end1″ -a “$start1″ -a “$end2″ -a “$start2″ ]
then
echo `date` ^ $host1=$(($end1-$start1)) $host2=$(($end2-$start2))
fi
done

April 19, 2007

Kernel update

EchO found out couple weeks ago that the default Linux kernel is not completely suitable for running high-FPS CS:S server. The solution would be to compile new kernel with few settings changed. Here’s how it went.

The reference to everything was post at steampowered.com. Most likely the author has not figured those things himself but copied them somewhere else, but it’s not important here.

Compiling a new kernel is relatively simple task. All you need to do is get kernel sources, change the settings you want, compile, install and reboot the system.

Anyway, most of the time something goes wrong. It took three attempts to get it right at Setti.

The first (failed) attempt was the easy way. Just recompile the current kernel without recompiling all modules. The idea was to use the modules of the kernel already installed. Everything should work because the kernel version is the same and the modules have been already compiled and being used by the current kernel. This way the possibility of doing something wrong would be minimized.

The kernel compiled fine. Everything was the same as the current system except the kernel. The system is running on SATA hard disk, which requires special drivers before it can be read. That’s why there’s also so called “initrd-image”, which gets loaded first in the boot process, which then loads the real kernel from the SATA drive. The other option would have been to compile SATA drivers inside the kernel, but the principle idea was to change as little as possible to minimize errors.

The system didn’t boot. Rescue-system saved the day. It was easy task to login to the rescue-system, change the old kernel back to the default kernel and reboot. The next attempt would be in the next day with the latest 2.6.20.7 kernel.

The second (failed) attempt was slightly better attempt. This time it wouldn’t matter what the old system was, because all new kernel modules must be compiled for the new kernel. After the first attempt there wasn’t any additional information why the system didn’t boot. It should have worked, but it didn’t. The problem might have been the kernel unable to load the old kernel modules, or it could have been the new kernel was unable to start with the old initrd-image.

The second attempt was actually in two parts. At the first part the server didn’t boot, just like in the first attempt. The rescue-system saved the day again. Now, instead of reverting back to the old kernel, new initrd-image was created for the new kernel. Reboot. Didn’t work. The reason why it didn’t boot was maybe because the new initrd-image wasn’t actually used because bootloader (lilo) configs were left the same. Well, then to the rescue-system again, revert to the old kernel, launch up the CS:S server and other applications and pretend as nothing happend :).

The third (successful) attempt went like it was planned. The kernel recompiled with SATA and reiserfs drivers inside. All the modules recompiled again just to be sure. Bootloader configs triple-checked. Reboot. Then one minute silence… and then “Reply from 213.239.209.221: bytes=32 time=52ms”. Success!

Now the current running kernel is version 2.6.20.7 with 1000 HZ timer frequency. The timer frequency makes sure the CS:S server is as responsive as possible, making the gameplay smoother than ever. The CS:S server tickrate is 66 tick. Players have already reported better hit registration and there doesn’t seem to be the old kind of laggyness every now and then.

The system is now as perfect as can be in the point of view of the kernel. There are few unnecessary drivers in the kernel, but they are not slowing down the system. The kernel scheduler, which tells which application gets how much CPU time, is optimized for interactive low-latency high-priority systems. The kernel, of course, optimized for AMD Athlon64 processors - instead of the “general x86-64″ optimizations with the default kernel. You don’t get it faster than this :).

UPDATE 2007-04-23

The kernel has been updated to 2.6.21-rc6-rt0. The version numbers says it’s normal linux development kernel version, which has been patched with real-time pre-emption patch. In addition to just bringing real-time support to the kernel, the patch also includes several other improvements to the default kernel. In fact, the real-time feature is not as critical as the other features - it’s not even necessary, so it’s not enabled.

To make sure the kernel does not do sloppy job, there are now statistics of FPS on the server (reference). The FPS should be steady around 300. Any fluctuations in the graph indicate that the CPU is not wholly utilized.

As opposed to the original reference on how the kernel should be patched, the kernel is now “tickless” (CONFIG_NO_HZ=y), although patched to “USER_HZ 1000″ in param.h just to be sure.

Currently the server seems to be able to do it’s job, so there’s no need to tweak the kernel forth. Despite that, it’d be still nice to test how the kernel would perform by enabling real-time support. Between the previous 2.6.20 kernel and the current, the real-time pre-emptive kernel was shortly tested, but then the param.h file wasn’t patched to 1000 HZ - although logically thinking it shouldn’t matter, because the “tickless” feature makes it obsolete. Another nice test would be to try non-tickless (ie. normal) real-time pre-emptive kernel with 1000 HZ param.h patch. The reference at steampowered.com tells to use desktop level pre-emption, which is one level less interactive from the real-time pre-emption.

The best source of information over anything has been valve mailinglist archive for linux server.

UPDATE 2007-05-04

In fact the kernel has been running at 300 HZ since 2007-04-25.

The 1000 HZ kernel with all possible configurations didn’t make it any better in the end, maybe even worse. As a last resort the kernel tickrate was lowered to 300 HZ, in case that 1000 HZ would have been too much to handle.

There’s no significant difference, if at all, so it’s all the same which kernel is running. It’s 300 HZ now, but the gaming experience is pretty much the same lagging as it has been since the day it started lagging - presumably the day when valve updated on 2007-03-13.

April 1, 2007

Preventing spam on messageboard

The ‘net is full of spam nowdays. Spam reaches email as well as forums, guestbooks, messageboards and blogs. Practically everywhere where it is possible to submit text there’s spam. Even youtube and metacafe have spam, even though they probably have thought about the spam bit more than we have. However, we have solved the spam problem on our domain.

Solution to messageboard spam:

<script type=”text/javascript”>
function validateForm() {
document.mainboard.validate.value = 1;
}
</script>

<form name=”mainboard” action=”mainboardpost.php” method=”POST” onSubmit=”validateForm()”>

<input name=”validate” type=”hidden” value=0 />
</form>

The idea is that stupid spambots don’t know JavaScript. Thus, when spambots find the messageboard, fill out the input fields and submit the form for mainboardpost.php to handle, they don’t realize that they should change the hidden “validate” value to “1″. All real users with real browsers do this automatically when they click “Post” button.

Today there have been 15 unsuccessful attempts to post something on the board. Most likely it’s been spam.

March 13, 2007

Geolocation on server page

Geolocationing system on the server page would be cool. So let’s do it!

There are several ways to get location information on that page, which way to go?

  1. The easy way: do it by PHP
  2. DB style: fetch info from database
  3. Advanced style: PHP module
  4. Anything, as far as it works

The easy way is to get Maxmind’s GeoIP.dat (used by CountryFilter plugin to block connections from USA, Canada and GB) and use it through “pure” PHP API. On the server page all that is needed is something like $countrycode = geoip_get_country_code($ip) and that’s it. The code must be searched from 700 kB geoip database, which obviously takes some time. Doing the search for nearly 3000 servers on one page slows down generation of the page to about 10 seconds.

DB style thing is to get Maxmind’s IP-to-Country database in CSV format (Comma Separated Value) and load it to database. Then it is possible to query country information while querying all other server information, such as server name and number of players. This should be fast and neat, but it turns out that it’s only neat. Rendering the server page takes over 10 seconds, even though MySQL says it completes the query in 5. Either way, it’s too slow.

Advanced style gets us to real world implementations. Maxmind has C library and PHP module implementation of the IP-to-Country system. Obviously the C implementation of the same system as in “the easy way” is far faster than PHP version. This proves to be true. Compiling C library and managing to install PHP module with PEAR was somewhat tricky to get along, especially the PEAR part, but eventually PHP found GeoIP module and GeoIP module found GeoIP database. For some reason PHP module’s function name was different than on the “pure” PHP API. Luckily I noticed that while messing with the installation. The end result is fast and quite neat, only one line of code to get a country code for certain IP. This method renders the server list page in 2.5 seconds. Well, not something that I’d expect.

Quite poor result with PHP modules was surprise. Searching 3000 servers’ location shouldn’t be taking 2.5 seconds. Well, it wasn’t. Rendering the page without country information takes 1,5-2 seconds, so retrieving the location information takes some 0,5-1 seconds. Moreover for some reason PHP is slowing down MySQL queries. Querying 3000 servers from some 30 000 servers takes only split second for MySQL to complete. It shouldn’t take seconds to render by PHP.

From the very start it’s been clear that ultimately the fastest way would be to retrieve location information only once for every server and store them somewhere, most preferably to the DB with all other server information. This, however, wouldn’t be very neatly integrated to the current server query system. It would take much more effort to change the current server querier - without breaking it - to use Maxmind’s PERL module (they have APIs for every use) than to do things separately.

The conclusion is that the current server list page is already rendering itself very slow. Somekind of caching could be used to speed up things. Then it wouldn’t matter if rendering the page every now and then would take up to 5 seconds.

Update (15 minutes later :P )

Getting pages cached in PHP seems to be very straightforward. The same method is already being used on server stats images, but they are images. Now we have some HTML cached too. Yeah!

March 4, 2007

Migration from ru to pin

Migrating from rusetti to pinsetti has gone extremely well.

It’s unbelieveable that all MySQL databases with all user privileges were perfectly transferred simply by copying the data directory of MySQL to the new server. The database was running in “production use” all the time when backup was being made. It means that the server query thingie, PS3, PS2 and messageboard were possibly writing or reading stuff from the database as it was being copied. That may have caused, and probably did, that the database file wasn’t the same when copying was started and when it was finished. However, MySQL is flexible little pig and it doesn’t seem to have suffered fatal injuries :).

Also the new server query system worked like a charm on a new server, almost. There was one little problem which took about hour to solve. For some reason it was complaining that there is an error in SQL syntax even though the very same SQL queries were being done on rusetti at the same time. The problem was years old Perl MySQL module - SuSE quality (made in Germany). It took minute to update, but an hour to resolve.

Some compromises had to be done. There are no longer “servers on map” or “masterserver rank” graphs. They were based on the old file based server query thing and are no longer supported. For masterserver rank there is already equivalent database solution, but it has jammed the old server once - even though it worked ten times before that. It could be that the new server is juicier and can handle it better, but it remains to be seen.

Currently there are still open issues in the migration. There are lots of Setti Masterserver users who still use the old system. The old system will disappear in less than two weeks leaving thousands of players without server list. Release groups and 3rd party server browser developers should update their clients to use new IP address for the masterserver. It could be that they don’t realize what’s going to happen, even though there is notification in the old masterserver.

March 1, 2007

Setti MasterServer - Better server browser

New MasterServer - better server browser

Setti MasterServer started humbly in March 2006. It steadily gained popularity by delivering the most comprehensive list of public servers and being extremely reliable. The lift-off for Setti MasterServer happened on mid-April when DigitalZone released CS:S patch including Setti MasterServer. User amounts increased immediately 10 times what they had been. The effect cumulated as other releases started to feature Setti MasterServer too.

Currently Setti MasterServer has approximately 5000 users. There are on average 15 requests per minute in a day. At peak times there is one request every two seconds. Since March 2006 there has been nearly 4 million requests from all over the world.

The server itself is relatively simple. There are couple hundred lines of code written in Perl. Basically the server just gets list of servers, transforms it to compatible format and sends the result data back to a client. Server addresses are encoded with 6 bytes. First four digits of an IP address are formatted in one byte each, and a port number is formatted with two bytes in so called “unsigned network ordered short”. Server addressses are packed in 128 groups before sending them to a client.

Setti MasterServer daily requestsSetti MasterServer yearly requestsSetti MasterServer yearly growth

At this time there are about 2600 servers in Setti server list. That means there will be about 20 packets to be sent to a client. Every packet is 768 bytes in size, so the total cost for sending all servers to one client is 15 kb. Every day there are in total about 20000 requests, so the bandwidth consumption for the service is 320 MB per day. Surprisingly much.

February 28, 2007

History of Setti server querier

Dawn of the list

Setti server querier was born sometime in 2005. The first version listed handful of servers and allowed server admins to submit their own servers on the list. The main cause for the service was to help people keep track on servers allowing all players, ie. public, listed on different web sites.

Obviously, after a while, some servers went down and the list contained dead servers. The solution in all its simplicity was to add “Report broken” link next to the server address. The link made it possible for users to say the server is down. This system was active for few weeks. Not surprisingly the server list was very static and not very useful - still slightly more useful than lists on dozen of forums. After some time, quite expectedly, web crawlers started to terrorize report links and all servers gained “broken” points.

Enter QStat

QStat is program which is able to query many kinds of server types. It is possible to give list of servers as parameter and QStat will query all of them. It’s even possible to output the result as customized web page. This is how things were in the early days of Setti server list. The main page of Setti CSS server was generated every 10 minutes by QStat. All changes on the main page had to be done in the QStat template. Server querying was automatic, so from this point on Setti server list has been somewhat unique in its kind.

Old Setti CSS server main page. Generated by QStat.

Around that time the system started to store historical data too. It was started partly due to difficulties recognizing servers being down for only hour or two from servers being down for two weeks. The historical data allowed generation of very accurate server statistics.

At this point the server query system was functioning quite effortlessly. It was easy to submit servers ( “in the form at the bottom of the page” ) and dead servers were removed automatically. The system scanned hundreds of servers all over the world in minutes. The speed was sufficient for the time being. However, there were still problems keeping the list valid. Not all submitted servers were public. They had to be removed from the list by adding them manually in excluded servers list. At the time it wasn’t known how to automatically verify whether a server is accepting all players or not.

Enter client emulation

The biggest revolution in server querying happened on October 2005. Then bug.meh.not revealed the secrets of client-server-client communication when the client joins the server. The procedure allowed anyone to check whether a server will accept all players or not. Not long after his release the client emulation was reproduced for much greater use: verifying servers in Setti servers list. The effect of being able to tell a server from a public server is the most significant thing for server lists.

UPDATED RELEASE: Source/HL Cracked Server Query Tool

[ Posted: Monday 29th August 2005 11:06 pm ]

Cracked server tester

[ Posted: Sunday 23rd October 2005 01:09 pm ]

[DEV]Cracked Server Finder:SourceCode

[ Posted: Sunday 30th October 2005 01:55 pm ]

Historical data

By this time the QStat based Setti server querier was to be decommissioned. New Perl based system featuring server status checking was to replace the old, somewhat messy system. The speed of server querying was slightly disappointing, due to lack of threads, but as there weren’t too many servers there wasn’t need for better system. Just as before.

Historical data for all servers had grown much, but all statistics based on the thousand log files were working good. There were slight problems because of changed syntax along the way. The very first historical data entry looked like this.

1128021324,fal.setti.info:27015,24/24,de_dust2,42,cstrike fal.setti.info CSS server

The line contains unixtime, server address, players, map name, ping, server name with server type. When the query system changed to Perl program, it was good time to add some more information which could be requested from the server.

1146333203,ru.setti.info:27015,26/25,de_dust2, 0/d/0/l/1.0.0.28,Setti CSS server

The line is almost the same, but ping has been replaced with “0/d/0/l/1.0.0.28″. Cleverly enough the delimiter is “/” and not “,”, so all statistics scripts still worked without changes. The first entry is ping, fixed to 0 for being no use, ‘d’ for dedicated, 0 for no VAC, ‘l’ for linux and 1.0.0.28 as game version. After months and several small improvements the syntax for historical server data reached its final form.

1153264488,ru.setti.info:27015,25/24,de_dust2,0/d/0/l/1.0.0.28/cstrikes/240/1,Setti CSS server

There is additional “/cstrikes/240/1″, which means ‘cstrike’ for game directory with appended ’s’ to indicate HL2/Source, 240 as AppID and 1 for number of bots.

The statistics files take whopping 2.7 GB disk space in 10000 files, ie. that many servers. Still, all stats for great number of servers were rendered in split second. Global server statistics and such were generated from the overwhelming number of log files by nifty handcrafted Perl programs. Sweet.

New, improved & database

The new database system is much faster than the old file based system. It’s because of threads. The latest file based system had threads, but they weren’t used as efficiently. The current database based server querier scans 3000 servers in 120 seconds, which is 25 servers per second. It’s good enough. Just as before, no need for better.

Some compromises had to be done with the database. There are three historical database tables: daily, weekly and monthly. Daily table contains data in ten minute intervals for one week, week table contains data in one hour intervals for month and monthly table contains data in four hour intervals infinitely - don’t mind the names. The file based queries stores all historical data in ten minute intervals. All! It means that in file based system it’s possible to see back in time in great accuracy. For example it’s possible to look at New Year on 2006 and see all aforementioned server statistics in ten minute intervals for all servers. The new system does only 4 hour accuracy. Good enough.

Additionally the new server query system scans a lot wider span of servers than all the other server query systems combined. The old system started to cough around 700 servers. The new could do 10000, but it seems that 3000 is all there is.

For the first time in the history of Setti server queriers the system in use is on solid ground. Confidence in the system is higher than ever. The system is easy to maintain and the database makes it easy to query different kind of results.

It’s fast. It’s reliable. It’s the product of necessity.