====== 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