ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cf.schmorp.de/maps/perl/schmorp-clientchk.ext
Revision: 1.6
Committed: Fri Dec 15 19:11:46 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
CVS Tags: HEAD
Changes since 1.5: +0 -0 lines
State: FILE REMOVED
Log Message:
move .ext to server

File Contents

# Content
1 #! perl
2
3 # check client version and string for old clients and possibly issue warnings for them
4
5 cf::attach_to_players
6 on_login => sub {
7 my ($pl) = @_;
8
9 my $client = $pl->socket->client;
10
11 my $is_cf = $client =~ /^(?:GTK|X11) (?:Unix|Win32) Client ([.0-9]+)/
12 ? join "", map chr, split /\./, $1
13 : undef;
14
15 my $is_jx = $client =~ /^JCrossclient 1.0 alpha-(\d+)/
16 ? join "", map chr, split /\./, $1
17 : undef;
18
19 if ($is_cf) { # && $is_cf lt v1.9.2) {
20 $pl->ob->message ("(enabling workaround for client buffer overflow)", cf::NDI_RED | cf::NDI_UNIQUE);
21 $pl->socket->buggy_mapscroll;
22 }
23
24 if ($is_jx) {
25 $pl->ob->message ("(enabling buggy map scroll workaround)", cf::NDI_RED | cf::NDI_UNIQUE);
26 $pl->socket->buggy_mapscroll;
27 }
28
29 if ($is_jx) {
30 $pl->ob->message ("You are using a known to be buggy client (an alpha version, too). "
31 . "If you encounter map freezes or other bugs, consider using a more stable client "
32 . "such as CFPlus or gcfclient or gcfclient2");
33 }
34
35 if ($is_cf && $is_cf lt v1.9.1) {
36 $pl->ob->message (<<EOF, cf::NDI_RED | cf::NDI_UNIQUE);
37
38 *** *** *** *** *** *** *** *** *** *** *** *** *** ***
39 *** *** *** *** *** *** *** *** *** *** *** *** *** ***
40 *** WARNING: Your client is BUGGY
41 *** *** *** *** *** *** *** *** *** *** *** *** *** ***
42 *** *** *** *** *** *** *** *** *** *** *** *** *** ***
43
44 Your client ($client) is known to be buggy. Upgrading is highly recommended, otherwise you may experience crashes, strange lockups or other problems.
45
46 EOF
47 }
48 },
49 ;
50