Table of Contents

How to install the PikkuBot on Linux

Ingredients

Procedure

  1. Login into your server
  2. Install the required mono-packages (please refer to the documentation of your distribution on how to do this)
Here are the list of mono-packages under Debian:

ii  libmono-accessibility2.0-cil              1.9.1+dfsg-1~bpo40+1                     Mono Accessibility library
ii  libmono-corlib1.0-cil                     1.9.1+dfsg-1~bpo40+1                     Mono core library (1.0)
ii  libmono-corlib2.0-cil                     1.9.1+dfsg-1~bpo40+1                     Mono core library (2.0)
ii  libmono-data-tds2.0-cil                   1.9.1+dfsg-1~bpo40+1                     Mono Data Library
ii  libmono-mozilla0.2-cil                    1.9.1+dfsg-1~bpo40+1                     Mono Mozilla library
ii  libmono-security2.0-cil                   1.9.1+dfsg-1~bpo40+1                     Mono Security library
ii  libmono-sharpzip2.84-cil                  1.9.1+dfsg-1~bpo40+1                     Mono SharpZipLib library
ii  libmono-sqlite2.0-cil                     1.9.1+dfsg-1~bpo40+1                     Mono Sqlite library
ii  libmono-system-data2.0-cil                1.9.1+dfsg-1~bpo40+1                     Mono System.Data Library
ii  libmono-system-web2.0-cil                 1.9.1+dfsg-1~bpo40+1                     Mono System.Web Library
ii  libmono-system2.0-cil                     1.9.1+dfsg-1~bpo40+1                     Mono System libraries (2.0)
ii  libmono-winforms2.0-cil                   1.9.1+dfsg-1~bpo40+1                     Mono System.Windows.Forms library
ii  libmono0                                  1.9.1+dfsg-1~bpo40+1                     libraries for the Mono JIT
ii  libmono2.0-cil                            1.9.1+dfsg-1~bpo40+1                     Mono libraries (2.0)
ii  mono-common                               1.9.1+dfsg-1~bpo40+1                     common files for Mono
ii  mono-gac                                  1.9.1+dfsg-1~bpo40+1                     Mono GAC tool
ii  mono-jit                                  1.9.1+dfsg-1~bpo40+1                     fast CLI JIT/AOT compiler for Mono
ii  mono-runtime                              1.9.1+dfsg-1~bpo40+1                     Mono runtime

  1. Download the PikkuBot exe file (Link)
  2. Extract the exe file with 7zip
  3. 'cd' to the PikkuBot directory (i.e.: cd pikkubot-299)
  4. Type “touch NOGUI.dat” to prevent GUI usage
  5. Replace the System.Data.SQLite.DLL in the Bot-Directory with the one from the sqlite/linux directory
  6. Start the bot by invoking it with the mono binary:
    mono PikkuBot.exe [Bot first name] [Bot last name] [Bot pass] [Master first name] [Master last name] [optional: “Sim”] [optional: region coordinates]

Hints

Using screen

For being able to let the bot run unattended on a server the program 'screen' is recommended. Start it before you launch the bot by typing 'screen' once. After hitting enter, the only thing you might see now is a cleared screen. Congratulations, that was the first part.

Now launch the bot and press the following key combination: <Ctrl> + <a> and finally hit the <d> key. You should now see a message like [detached]. That's it - your bot is now running in that screen session and you can terminate your shell without killing the bot.

For reattaching a screen session, use the command 'screen -r'.

Troubleshooting

It's not the end of the world if things are not working. This is a small list to check before reporting a bug:

General checks

  1. Check the mono libraries - make sure they are all available and up to date (matching your mono core)
  2. Check for broken links
  3. Check the SL Account of the bot - is it available?
  4. Check your bot license. Maybe you need to purge a slot?
  5. Check if you have the right libsqlite3.so.0 installed in /usr/lib

Pikkubot specific checks (it has worked before™)

  1. Check for running PikkuBots and own mono threads and kill them if needed
  2. Check the version of the bot and make sure you're having a recent version as old versions are not maintained anymore
  3. Check for the NOGUI.dat file
  4. Check the System.Data.SQLite.DLL in the Bot-Directory. Is it the one from the sqlite/linux directory?

LD_LIBRARY_PATH

To avoid problems with your inventory under mono, please set the LD_LIBRARY_PATH before you start the bot:

# export LD_LIBRARY_PATH=[PATH TO MONO DIRECTORY]/lib