Games-Axmud

 view release on metacpan or  search on metacpan

CHANGES  view on Meta::CPAN

    correctly
- MS Windows users could not change the font. This is now fixed. The standard
    Gtk font selection dialogue no longer worked, and could even cause crashes.
    Replaced the deprecated dialogue with the modern one
- Perl plugins cannot be loaded from all possible locations. The new
    ;importplugin command will copy any Perl plugin to a location in Axmud's
    data directory, from which it can be loaded
- Fixed segfaults on shutdown in certain situations

Minor fixes
- IO::Socket::SSL is now an optional dependency, for the benefit of some Linux
    distributions on which it can no longer be installed (due to problems with
    the parent Net::SSLeay module). If the dependency is not satisfied, Axmud
    will not be able to connect to any world using SSL
- Fixed broken code in ;modifyconfig
- The layout of the Countdown Task's window has been improved a little
- A character's purse contents/bank balance could not be modified from withint
    the character edit window. Fixed

Axbasic features/fixes
- Axbasic has been updated to v1.003

Makefile.PL  view on Meta::CPAN

    'File::Path'            => '0',
    'File::ShareDir'        => '0',
    'File::ShareDir::Install'
                            => '0',
    'Glib'                  => '0',
    'GooCanvas2'            => '0',
    'Gtk3'                  => '0',
    'HTTP::Tiny'            => '0',
    'IO::Socket::INET'      => '0',
#    'IO::Socket::INET6'     => '0',
#    'IO::Socket::SSL'       => '0',
    'IPC::Run'              => '0',
    'JSON'                  => '0',
    'Math::Round'           => '0',
    'Math::Trig'            => '0',
    'Module::Load'          => '0',
    'Net::OpenSSH'          => '0',
    'POSIX'                 => '0',
    'Regexp::IPv6'          => '0',
    'Safe'                  => '0',
    'Scalar::Util'          => '0',

README.rst  view on Meta::CPAN


Make sure you have the right dependencies:

        **sudo pacman -S gtk3 perl-gtk3 goocanvas wmctrl**
        **sudo pacman -S perl-cpanplus-dist-arch**
        **setupdistarch**
        **sudo cpanp i Archive::Zip File::Copy::Recursive File::HomeDir File::ShareDir File::ShareDir::Install Glib Gtk3 GooCanvas2 IO::Socket::INET6 IPC::Run JSON Math::Round Net::OpenSSH Path::Tiny Regexp::IPv6**

At the time of writing, there are some issues with installing certain libraries on Arch. If you know that those issues have been fixed, you can type this command to allow Axmud to use SSL connections:

        **sudo cpanp i IO::Socket::SSL**

If you want to use sound effects and/or text-to-speech, you should also type:

        **sudo pacman -S sox timidity++ espeak-ng**

Then install Axmud itself:

        **perl Makefile.PL**
        **make**
        **sudo make install**

README.rst  view on Meta::CPAN

        **cd Games-Axmud-X.Y.ZZZ**

You must replace the X.Y.ZZZ with the actual version number you've downloaded, for example:

        **tar -pzxvf Games-Axmud-1.2.345.tar.gz**
        **cd Games-Axmud-1.2.345**

Make sure you have the right dependencies:

        **sudo pacman -S base-devel gtk3 goocanvas perl-gtk3 perl-goocanvas2 wmctrl cpanminus**
        **sudo cpanm Archive::Extract File::Copy::Recursive File::HomeDir File::ShareDir File::ShareDir::Install Glib IO::Socket::INET6 IO::Socket::SSL IPC::Run JSON Math::Round Net::OpenSSH Path::Tiny Regexp::IPv6**
        **sudo cpanm Archive::Zip --force**

If you want to use sound effects and/or text-to-speech, you should also type:

        **sudo pacman -S sox timidity++**

Then install Axmud itself:

        **perl Makefile.PL**
        **make**

README.rst  view on Meta::CPAN

        **cd Games-Axmud-X.Y.ZZZ**

You must replace the X.Y.ZZZ with the actual version number you've downloaded, for example:

        **tar -pzxvf Games-Axmud-1.2.345.tar.gz**
        **cd Games-Axmud-1.2.345**

Make sure you have the right dependencies:

        **sudo pkg install goocanvas2 wmctrl**
        **sudo cpan install Archive::Extract Archive::Zip File::Copy::Recursive File::HomeDir File::ShareDir File::ShareDir::Install Glib Gtk3 GooCanvas2 IO::Socket::INET6 IO::Socket::SSL IPC::Run JSON Math::Round Net::OpenSSH Path::Tiny Regexp::IPv6...

If you want to use sound effects and/or text-to-speech, you should also type:

        **sudo pkg install sox timidity++**

Then install Axmud itself:

        **perl Makefile.PL**
        **make**
        **sudo make install**

lib/Games/Axmud/Session.pm  view on Meta::CPAN

            port                        => undef,
            # Which connection protocol this session is using: 'telnet', 'ssh' or 'ssl' ('undef'
            #   when not connected)
            protocol                    => undef,
            # The GA::Obj::Telnet handling the connection ('undef' when not connected)
            connectObj                  => undef,
            # For SSH connections, the Net::OpenSSH and Perl pty (an IO::Tty filehandle) objects
            #   ('undef' for telnet/SSL connections and when not connected)
            sshObj                      => undef,
            ptyObj                      => undef,
            # For SSL connections, the IO::Socket::SSL object ('undef' for telnet/SSH connections
            #   and when not connected)
            sslObj                      => undef,
            # The number of packets received (i.e. the number of times $self->processIncomingData
            #   has been called) during this session
            packetCount                 => 0,
            # The current connection status:
            #   'waiting'       - The first connection hasn't been attempted yet
            #   'connecting'    - Attempting to connect
            #   'connected'     - Connected to the remote host
            #   'offline'       - Session opened in 'connect offline' mode

lib/Games/Axmud/Session.pm  view on Meta::CPAN


                # React to the disconnection
                $self->reactDisconnect();

                # Return 'undef' to show failure
                return undef;
            }

        } elsif ($protocol eq 'ssl') {

            # Connect using IO::Socket::SSL and GA::Obj::Telnet
            $sslObj = IO::Socket::SSL->new(
                PeerAddr        => $host,
                PeerPort        => $port,
                SSL_verify_mode => 0x00,
            );

            if ($sslObj) {

                $connectObj = Games::Axmud::Obj::Telnet->new(
                    -fhopen         => $sslObj,
                    Axmud_session   => $self,

lib/Games/Axmud/Session.pm  view on Meta::CPAN

            $connectObj->open(
                Host        => $host,
                Port        => $port,
                Family      => 'any',       # Permit ipv4 or ipv6
                Errmode     => sub { return $self->connectionError(shift); },
            );

        } else {

            # For SSH, ivp4/ipv6 is already supported by the code above
            # For SSL, ipv4 and ipv6 are already enabled, due to IO::Socket::SSL being able to call
            #   on IO::Socket::INET6
            $connectObj->errmode( sub { return $self->connectionError(shift); } );
        }

        # If the connection is refused (e.g. an invalid host is specified),
        #   $self->connectionError will be called before the following lines of code can be
        #   executed.
        if ($self->status ne 'disconnected' && $self->status ne 'offline') {

            # Update IVs

scripts/axmud.pl  view on Meta::CPAN

use File::HomeDir qw(my_home);
use File::Path qw(remove_tree);
use File::ShareDir ':ALL';
use File::ShareDir::Install;
#use Glib qw(TRUE FALSE);
use GooCanvas2;
use Gtk3 '-init';
use HTTP::Tiny;
use IO::Socket::INET;
#use IO::Socket::INET6;
#use IO::Socket::SSL;
use IPC::Run qw(start);
use JSON;
use Math::Round;
use Math::Trig;
use Module::Load qw(load);
use Net::OpenSSH;
use POSIX qw(ceil floor);
use Regexp::IPv6 qw($IPv6_re);
use Safe;
use Scalar::Util qw(looks_like_number);
use Socket qw(AF_INET SOCK_STREAM inet_aton sockaddr_in);
use Symbol qw(qualify);
use Storable qw(lock_nstore lock_retrieve);
use Time::HiRes qw(gettimeofday usleep);
use Time::Piece;

# Net::SSLeay issues can cause inability to install IO::Socket::SSL on some systems. If it's not
#   available, set a global flag so that GA::Session won't try to connect to a world with SSL
my $rc = eval {
    require IO::Socket::SSL;
    IO::Socket::SSL->import();
    1;
};

if ($rc) {
    $NO_SSL_FLAG = TRUE;
} else {
    $NO_SSL_FLAG = FALSE;
}

# As of v2.0, IO::Socket::INET6 can't be installed on MS Windows. Since the module is not

scripts/baxmud.pl  view on Meta::CPAN

use File::HomeDir qw(my_home);
use File::Path qw(remove_tree);
use File::ShareDir ':ALL';
use File::ShareDir::Install;
#use Glib qw(TRUE FALSE);
use GooCanvas2;
use Gtk3 '-init';
use HTTP::Tiny;
use IO::Socket::INET;
#use IO::Socket::INET6;
#use IO::Socket::SSL;
use IPC::Run qw(start);
use JSON;
use Math::Round;
use Math::Trig;
use Module::Load qw(load);
use Net::OpenSSH;
use POSIX qw(ceil floor);
use Regexp::IPv6 qw($IPv6_re);
use Safe;
use Scalar::Util qw(looks_like_number);
use Socket qw(AF_INET SOCK_STREAM inet_aton sockaddr_in);
use Symbol qw(qualify);
use Storable qw(lock_nstore lock_retrieve);
use Time::HiRes qw(gettimeofday usleep);
use Time::Piece;

# Net::SSLeay issues can cause inability to install IO::Socket::SSL on some systems. If it's not
#   available, set a global flag so that GA::Session won't try to connect to a world with SSL
my $rc = eval {
    require IO::Socket::SSL;
    IO::Socket::SSL->import();
    1;
};

if ($rc) {
    $NO_SSL_FLAG = TRUE;
} else {
    $NO_SSL_FLAG = FALSE;
}

# As of v2.0, IO::Socket::INET6 can't be installed on MS Windows. Since the module is not

share/docs/guide/ch02.html  view on Meta::CPAN

    cd Games-Axmud-X.Y.ZZZ
</code></pre>
<p>You must replace the X.Y.ZZZ with the actual version number you've downloaded, for example:</p>
<pre><code>    tar -pzxvf Games-Axmud-1.2.345.tar.gz
    cd Games-Axmud-1.2.345
</code></pre>
<p>Make sure you have the right dependencies:</p>
<pre><code>    sudo pacman -S gtk3 perl-gtk3 goocanvas wmctrl
    sudo pacman -S perl-cpanplus-dist-arch
    setupdistarch
    sudo cpanp i Archive::Zip File::Copy::Recursive File::HomeDir File::ShareDir File::ShareDir::Install Glib Gtk3 GooCanvas2 IO::Socket::INET6 IO::Socket::SSL IPC::Run JSON Net::OpenSSH Path::Tiny Regexp::IPv6 X11::WMCtrl
</code></pre>
<p>If you want to use sound effects and/or text-to-speech, you should also type:</p>
<pre><code>    sudo pacman -S sox timidity++
</code></pre>
<p>Then install Axmud itself:</p>
<pre><code>    perl Makefile.PL
    make
    sudo make install
</code></pre>
<p>When installation is complete, start Axmud by typing:</p>

share/docs/guide/ch02.html  view on Meta::CPAN

<p>Decompress the .tar.gz file:</p>
<pre><code>    tar -pzxvf Games-Axmud-X.Y.ZZZ.tar.gz
    cd Games-Axmud-X.Y.ZZZ
</code></pre>
<p>You must replace the X.Y.ZZZ with the actual version number you've downloaded, for example:</p>
<pre><code>    tar -pzxvf Games-Axmud-1.2.345.tar.gz
    cd Games-Axmud-1.2.345
</code></pre>
<p>Make sure you have the right dependencies:</p>
<pre><code>    sudo pacman -S base-devel gtk3 goocanvas perl-gtk3 perl-goocanvas2 wmctrl cpanminus
    sudo cpanm Archive::Extract File::Copy::Recursive File::HomeDir File::ShareDir File::ShareDir::Install Glib IO::Socket::INET6 IO::Socket::SSL IPC::Run JSON Net::OpenSSH Path::Tiny Regexp::IPv6
    sudo cpanm Archive::Zip --force
</code></pre>
<p>If you want to use sound effects and/or text-to-speech, you should also type:</p>
<pre><code>    sudo pacman -S sox timidity++
</code></pre>
<p>Then install Axmud itself:</p>
<pre><code>    perl Makefile.PL
    make
    sudo make install
</code></pre>

share/docs/guide/ch02.html  view on Meta::CPAN

<pre><code>    tar -pzxvf Games-Axmud-X.Y.ZZZ.tar.gz
    cd Games-Axmud-X.Y.ZZZ
</code></pre>
<p>You must replace the X.Y.ZZZ with the actual version number you've downloaded,
for example:</p>
<pre><code>    tar -pzxvf Games-Axmud-1.2.345.tar.gz
    cd Games-Axmud-1.2.345
</code></pre>
<p>Make sure you have the right dependencies:</p>
<pre><code>    sudo pkg install goocanvas2 wmctrl
    sudo cpan install Archive::Extract Archive::Zip File::Copy::Recursive File::HomeDir File::ShareDir File::ShareDir::Install Glib Gtk3 GooCanvas2 IO::Socket::INET6 IO::Socket::SSL IPC::Run JSON Net::OpenSSH Path::Tiny Regexp::IPv6 X11::WMCtrl
</code></pre>
<p>If you want to use sound effects and/or text-to-speech, you should also type:</p>
<pre><code>    sudo pkg install sox timidity++
</code></pre>
<p>Then install Axmud itself:</p>
<pre><code>    perl Makefile.PL
    make
    sudo make install
</code></pre>
<p>When installation is complete, start Axmud by typing:</p>

share/docs/guide/ch02.mkd  view on Meta::CPAN

You must replace the X.Y.ZZZ with the actual version number you've downloaded, for example:

        tar -pzxvf Games-Axmud-1.2.345.tar.gz
        cd Games-Axmud-1.2.345

Make sure you have the right dependencies:

        sudo pacman -S gtk3 perl-gtk3 goocanvas wmctrl
        sudo pacman -S perl-cpanplus-dist-arch
        setupdistarch
        sudo cpanp i Archive::Zip File::Copy::Recursive File::HomeDir File::ShareDir File::ShareDir::Install Glib Gtk3 GooCanvas2 IO::Socket::INET6 IO::Socket::SSL IPC::Run JSON Net::OpenSSH Path::Tiny Regexp::IPv6 X11::WMCtrl

If you want to use sound effects and/or text-to-speech, you should also type:

        sudo pacman -S sox timidity++

Then install Axmud itself:

        perl Makefile.PL
        make
        sudo make install

share/docs/guide/ch02.mkd  view on Meta::CPAN

        cd Games-Axmud-X.Y.ZZZ

You must replace the X.Y.ZZZ with the actual version number you've downloaded, for example:

        tar -pzxvf Games-Axmud-1.2.345.tar.gz
        cd Games-Axmud-1.2.345

Make sure you have the right dependencies:

        sudo pacman -S base-devel gtk3 goocanvas perl-gtk3 perl-goocanvas2 wmctrl cpanminus
        sudo cpanm Archive::Extract File::Copy::Recursive File::HomeDir File::ShareDir File::ShareDir::Install Glib IO::Socket::INET6 IO::Socket::SSL IPC::Run JSON Net::OpenSSH Path::Tiny Regexp::IPv6
        sudo cpanm Archive::Zip --force

If you want to use sound effects and/or text-to-speech, you should also type:

        sudo pacman -S sox timidity++

Then install Axmud itself:

        perl Makefile.PL
        make

share/docs/guide/ch02.mkd  view on Meta::CPAN


You must replace the X.Y.ZZZ with the actual version number you've downloaded,
for example:

        tar -pzxvf Games-Axmud-1.2.345.tar.gz
        cd Games-Axmud-1.2.345
    
Make sure you have the right dependencies:

        sudo pkg install goocanvas2 wmctrl
        sudo cpan install Archive::Extract Archive::Zip File::Copy::Recursive File::HomeDir File::ShareDir File::ShareDir::Install Glib Gtk3 GooCanvas2 IO::Socket::INET6 IO::Socket::SSL IPC::Run JSON Net::OpenSSH Path::Tiny Regexp::IPv6 X11::WMCtrl

If you want to use sound effects and/or text-to-speech, you should also type:

        sudo pkg install sox timidity++

Then install Axmud itself:

        perl Makefile.PL
        make
        sudo make install



( run in 1.276 second using v1.01-cache-2.11-cpan-4d50c553e7e )