--- deliantra/server/ext/version.ext 2010/04/08 17:36:53 1.1 +++ deliantra/server/ext/version.ext 2012/11/11 21:34:21 1.9 @@ -3,15 +3,24 @@ # 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, @@ -20,6 +29,14 @@ 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"); }, );