====== How to install the PikkuBot on Linux ======
===== Ingredients =====
* A recent Linux distribution of your choice
* mono > 1.5.4
* 7zip for linux
* screen (optional)
===== Procedure =====
- Login into your server
- 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
- Download the PikkuBot exe file ([[:download|Link]])
- Extract the exe file with 7zip
- 'cd' to the PikkuBot directory (i.e.: cd pikkubot-299)
- **Type "touch NOGUI.dat" to prevent GUI usage**
- //Replace the System.Data.SQLite.DLL in the Bot-Directory with the one from the sqlite/linux directory//
- 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: + and finally hit the 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 ====
- Check the mono libraries - make sure they are all available and up to date (matching your mono core)
- Check for broken links
- Check the SL Account of the bot - is it available?
- Check your bot license. Maybe you need to purge a slot?
- Check if you have the right libsqlite3.so.0 installed in /usr/lib
==== Pikkubot specific checks (it has worked beforeā¢) ====
- Check for running PikkuBots and own mono threads and kill them if needed
- Check the version of the bot and make sure you're having a recent version as old versions are not maintained anymore
- Check for the NOGUI.dat file
- 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