Up to Main Index                                          Up to PROTOTYPE3

                               GETTING STARTED

                           [Updated for PROTOTYPE3]

This guide details different ways of getting, setting up, installing,
compiling and running WolfMUD.

The basic methods are:


  1. Download binary and run it
  2. Using 'go get'
  3. Download sources and compile
  4. 'git clone' the sources and compile


For each method I will give a quick recipe for Linux and Windows environments.


NOTE TO ARM USERS
-----------------

There are now two ARM binary downloads. The ARMv5 Softfloat should be suitable
for all ARM processors although it will be slower than a build specific to the
ARM processor in use as it does floating point computations in software. The
ARMv6 Hardfloat should be suitable for ARM processors with hardware floating
point including the Raspberry Pi. For more information see:


  https://github.com/golang/go/wiki/GoArm


If you are *really* ambitious you can have a go running it on Android phones
and tablets as well. For more information on this unsupported setup see:


  ../../../journal/2014/2/6.html



METHOD 1: DOWNLOAD BINARY
-------------------------

If you are keen and eager to see WolfMUD in action you can download one of the
server binary archives. Make sure you get the right binary download. The file
naming is:


  WolfMUD-os-arch-type.ext

  WolfMUD - All downloads start with this prefix
       os - Operating system: Windows or Linux
     arch - Architecture: i386 - 32bit, amd64 - 64bit, ARM
      ext - Extension: zip - zip file, tgz - gzipped tarball


So WolfMUD-linux-amd64.tgz is WolfMUD for Linux 64bit as a gzipped tarball.
Once you have downloaded the right archives you just need to unpack them.


  FOR LINUX
  ~~~~~~~~~
  Save the archive into a directory where you want WolfMUD installed and
  unpack it. The WolfMUD directory will be created for you. For example:


    cd ~
    tar -zxvf <downloaded-file-name>.tgz
    cd WolfMUD
    ./server


  FOR WINDOWS
  ~~~~~~~~~~~
  Save the archive locally. Right click and 'extract all'. This will create a
  WolfMUD directory. Select the directory and then double click server.exe to
  start the server.


Now go to the 'What you should see section'.


METHOD 2: GO GET
----------------

These instructions should work for a fresh install or if you are updating.

This assumes you have Go and Git already installed and are raring to go. What
follows is what I do. You may already be confident with Go and Git and have
your own ideas for setting things up differently ;)


  FOR LINUX
  ~~~~~~~~~

  Open a terminal and type:


    cd ~
    mkdir WolfMUD
    cd WolfMUD
    GOPATH=~/WolfMUD go get -u code.wolfmud.org/WolfMUD.git/...
    cd bin
    ./server


  FOR WINDOWS
  ~~~~~~~~~~~

  Open a Command Prompt - found under Programs → Accessories or you can select
  Start → Run... then type 'cmd' - without the quotes - in the input box and
  hit enter. This should open a terminal window into which you should type:


    cd C:\
    mkdir WolfMUD
    cd WolfMUD
    set GOPATH=C:\WolfMUD
    go get -u code.wolfmud.org/WolfMUD.git/...
    cd bin
    server.exe


NOTE: Depending on your internet connection etc there may be a long pause
after pressing enter on the line with 'go get' on it!

Now go to the 'What you should see section'.

If you look at the content of the WolfMUD directory now it should contain
three directories: bin, pkg, src. This is standard for a Go project. Under the
directory ~/WolfMUD/src/code.wolfmud.org/WolfMUD.git is the Git repository
where you can do all your normal Git stuff.


METHOD 3: DOWNLOAD SOURCES & COMPILE
------------------------------------

If you have go installed but don't use or don't want to use Git this method is
for you.


  FOR LINUX
  ~~~~~~~~~

  Download the sources to e.g. ~/WolfMUD-source.tgz then open a terminal and
  type:


    cd ~
    tar -zxvf ~/WolfMUD-source.tgz
    cd WolfMUD
    GOPATH=~/WolfMUD go install ./...
    cd bin
    ./server


  FOR WINDOWS
  ~~~~~~~~~~~

  Download WolfMUD-source.zip into e.g. C: Then unzip the content of
  WolfMUD-source.zip which will create a WolfMUD directory.

  Open a Command Prompt - found under Programs → Accessories or select Run...
  then type run in the input box and hit enter. This should open a terminal
  window into which you should type:


    cd C:\WolfMUD
    set GOPATH=C:\WolfMUD
    go install ./...
    cd bin
    server.exe


Now go to the 'What you should see section'.


METHOD 4: Git CLONE & COMPILE
-----------------------------

Maybe 'go get' does not work for you for some reason or you just don't want to
use it. This is how to use a 'normal' Git clone.


  FOR LINUX
  ~~~~~~~~~

  Open a terminal and type:


    cd ~
    mkdir -p ~/WolfMUD/src/code.wolfmud.org/WolfMUD.git
    cd ~/WolfMUD/src/code.wolfmud.org
    git clone https://code.wolfmud.org/WolfMUD WolfMUD.git
    cd ~/WolfMUD
    GOPATH=~/WolfMUD go install ./...
    cd bin
    ./server


  FOR WINDOWS
  ~~~~~~~~~~~

  Open a Command Prompt - found under Programs → Accessories or select Run...
  then type run in the input box and hit enter. This should open a terminal
  window into which you should type:


    cd C:\
    mkdir C:\WolfMUD\src\code.wolfmud.org\WolfMUD.git
    cd C:\WolfMUD\src\code.wolfmud.org
    git clone https://code.wolfmud.org/WolfMUD WolfMUD.git
    cd C:\WolfMUD
    set GOPATH=C:\WolfMUD
    go install ./...
    cd bin
    server.exe


Now go to the 'What you should see section'.


WHAT YOU SHOULD SEE
-------------------

For all the different methods available you will get an executable server.
When you run the server you should see something like:


  2013/06/10 21:09 server.go:21: Starting WolfMUD server...
  2013/06/10 21:09 config.go:96: Checking for config.wrj in: /WolfMUD/bin
  2013/06/10 21:09 config.go:96: Checking for config.wrj in: /WolfMUD/bin/data
  2013/06/10 21:09 config.go:96: Checking for config.wrj in: /WolfMUD/bin/data
  2013/06/10 21:09 config.go:96: Checking for config.wrj in: /WolfMUD/bin/../…
  2013/06/10 21:09 config.go:104: Using: /WolfMUD/bin/../src/code.wolfmud.org/…
  2013/06/10 21:09 config.go:116: listen.address: 127.0.0.1
  2013/06/10 21:09 config.go:117: listen.port: 4001
  2013/06/10 21:09 config.go:118: mem.profile.rate: 0
  2013/06/10 21:09 config.go:119: stats.rate: 10s
  2013/06/10 21:09 config.go:120: data.dir: /WolfMUD/src/code.wolfmud.org/…
  2013/06/10 21:09 stats.go:98: A[620kb +620kb] HO[243 +243] GO[4 +4] PL 0/0
  2013/06/10 21:09 stats.go:67: Stats collection started, frequency: 10s
  2013/06/10 21:09 loader.go:52: Loading data file: zinara.wrj
  2013/06/10 21:09 loader.go:77: Loaded: Fireplace (Start)
  2013/06/10 21:09 loader.go:77: Loaded: Common Room (Basic)
  2013/06/10 21:09 loader.go:77: Loaded: Tavern entrance (Basic)
  2013/06/10 21:09 loader.go:77: Loaded: Tavern Bar (Basic)
  :
  :
  :
  2013/06/10 21:09 loader.go:77: Loaded: Rogue's Den Entrance (Basic)
  2013/06/10 21:09 loader.go:77: Loaded: Rogue's Den (Basic)
  2013/06/10 21:09 loader.go:77: Loaded: A curious brass lattice (Item)
  2013/06/10 21:09 loader.go:77: Loaded: A small green ball (Item)
  2013/06/10 21:09 loader.go:77: Loaded: A small red ball (Item)
  2013/06/10 21:09 loader.go:77: Loaded: An iron bound chest (Item)
  2013/06/10 21:09 decoder.go:19: Property "ref" not found. Defaulting to…
  2013/06/10 21:09 loader.go:77: Loaded: A runestone (Item)
  2013/06/10 21:09 item.go:44: Added A curious brass lattice to L1
  2013/06/10 21:09 item.go:44: Added A small green ball to L1
  2013/06/10 21:09 item.go:44: Added A small red ball to L1
  2013/06/10 21:09 item.go:44: Added An iron bound chest to L1
  2013/06/10 21:09 decoder.go:19: Property "ref" not found. Defaulting to…
  2013/06/10 21:09 item.go:44: Added A runestone to L13
  2013/06/10 21:09 item.go:44: Added A runestone to L23
  2013/06/10 21:09 item.go:44: Added A runestone to L8
  2013/06/10 21:09 item.go:44: Added A runestone to L29
  2013/06/10 21:09 item.go:44: Added A runestone to L37
  2013/06/10 21:09 world.go:43: Accepting connections on: 127.0.0.1:4001


Note that some of the lines above end in '…' where I have truncated them for
this guide. The statistics will update periodically while the server is
running and as you connect and disconnect from the server you will see other
messages being logged as well:


  2013/06/10 21:11 world.go:43: Accepting connections on: 127.0.0.1:4001
  2013/06/10 21:11 world.go:50: Connection from 127.0.0.1:33782.
  2013/06/10 21:11 client.go:106: Client created: Player 1
  2013/06/10 21:11 stats.go:98: A[703kb +124kb] HO[626 +386] GO[7 +3] PL 1/1
  2013/06/10 21:11 stats.go:98: A[709kb   +5kb] HO[627   +1] GO[7 +0] PL 1/1
  2013/06/10 21:11 stats.go:98: A[709kb   +0b ] HO[627   +0] GO[7 +0] PL 1/1
  2013/06/10 21:11 player.go:315: Player 1 is quitting
  2013/06/10 21:11 client.go:241: receiver ending for Player 1
  2013/06/10 21:11 client.go:121: Spawn ending for Player 1
  2013/06/10 21:11 stats.go:98: A[708kb -720b ] HO[614  -13] GO[6 -1] PL 0/1
  2013/06/10 21:11 stats.go:98: A[708kb   +0b ] HO[614   +0] GO[6 +0] PL 0/1


Now you can use a Telnet client to connect to the server with IP address
127.0.0.1 on port 4001:


  telnet 127.0.0.1 4001


You should see something similar the following appear, but in colour:


  Trying 127.0.0.1...
  Connected to 127.0.0.1.
  Escape character is '^]'.


  WolfMUD Copyright 2013 Andrew 'Diddymus' Rolfe

      World
      Of
      Living
      Fantasy



  Please enter your account ID or just press ENTER to create a new account:
  >


You can now follow the on screen instructions to create your own account.

Once you have setup your account and created your character you can walk around
using the commands N,S,E,W,U,D or NORTH, SOUTH, EAST, WEST, UP and DOWN
depending on the exits available. If you find an object you can use
GET,DROP,EXAM or EXAMINE and WEIGH. You can see what you are carrying by using
INV or INVENTORY. You can also SNEEZE - which tests the messaging system. You
should be told you sneezed, other players at your location should see you
sneeze, everybody else should hear a loud sneeze. You can also QUIT to end your
session.

Don't forget it's multiuser so log in with multiple Telnet sessions and play
around. WHO will tell you who else is logged in.

Have fun!
--
Diddymus


  Up to Main Index                                          Up to PROTOTYPE3