#! perl # mandatory # the version command cf::client->attach ( on_connect => sub { my ($ns) = @_; $ns->send_packet ("version " . $cf::json_coder->encode ({ server => "Deliantra Server", serverver => cf::VERSION, })); }, on_version => sub { my ($ns, $arg) = @_; if ($arg =~ /^\{/) { # post 2.10 my $ver = $cf::json_coder->decode ($arg); $ns->{version} = $ver; $ns->{who_version} = "$ver->{clientver} $ver->{osver}"; } elsif ($arg =~ /^(\d+) (\d+) (.*)$/) { # 2.10 and earlier $ns->{who_version} = $3; $ns->{version} = { protover => 0, cs_version => $1, sc_version => $2, client => $3, }; } $ns->ext_msg (capabilities => # id, name, flags (1 == 2d), edge length tileset => [[0, "default 64x64 tileset", 1, 64], [1, "default 32x32 tileset", 1, 32], [2, "default text tileset", 2, 2]], ); # dclient prefers bump messages $ns->bumpmsg ($ns->{client} eq "dclient"); }, );