| 1 |
root |
1.1 |
#! perl # mandatory |
| 2 |
|
|
|
| 3 |
|
|
# the version command |
| 4 |
|
|
|
| 5 |
|
|
cf::client->attach ( |
| 6 |
root |
1.2 |
on_connect => sub { |
| 7 |
|
|
my ($ns) = @_; |
| 8 |
|
|
|
| 9 |
|
|
$ns->send_packet ("version " . $cf::json_coder->encode ({ |
| 10 |
|
|
server => "Deliantra Server", |
| 11 |
|
|
serverver => cf::VERSION, |
| 12 |
|
|
})); |
| 13 |
|
|
}, |
| 14 |
root |
1.1 |
on_version => sub { |
| 15 |
|
|
my ($ns, $arg) = @_; |
| 16 |
|
|
|
| 17 |
|
|
if ($arg =~ /^\{/) { |
| 18 |
root |
1.4 |
# post 2.10 |
| 19 |
root |
1.1 |
my $ver = $cf::json_coder->decode ($arg); |
| 20 |
|
|
$ns->{version} = $ver; |
| 21 |
|
|
$ns->{who_version} = "$ver->{clientver} $ver->{osver}"; |
| 22 |
|
|
} elsif ($arg =~ /^(\d+) (\d+) (.*)$/) { |
| 23 |
root |
1.2 |
# 2.10 and earlier |
| 24 |
root |
1.1 |
$ns->{who_version} = $3; |
| 25 |
|
|
$ns->{version} = { |
| 26 |
|
|
protover => 0, |
| 27 |
|
|
cs_version => $1, |
| 28 |
|
|
sc_version => $2, |
| 29 |
|
|
client => $3, |
| 30 |
|
|
}; |
| 31 |
|
|
} |
| 32 |
root |
1.4 |
|
| 33 |
|
|
# dclient prefers bump messages |
| 34 |
|
|
$ns->bumpmsg ($ns->{client} eq "dclient"); |
| 35 |
|
|
|
| 36 |
root |
1.1 |
}, |
| 37 |
|
|
); |
| 38 |
|
|
|