1The Steam protocol plugin for bitlbee. This plugin uses the Steam Mobile 2API allowing it to run alongside the main Steam client. It is worth 3noting that the Steam Mobile API is HTTP based, which does lead to mild 4latency. 5 6## Package Repositories 7 8There are package repositories available for various distributions. 9 10See: https://jgeboski.github.io 11 12## Building and Installing 13 14Make sure bitlbee and its headers have been installed. If bitlbee came 15from the distribution's repository, it will most likely need the 16development package, usually bitlbee-dev. 17 18If bitlbee was built by hand (or alike via a script), ensure the make 19target `install-dev` is invoked. This target is not called by default, 20and will install the headers that are needed. 21 22Do *not* use the source tree headers unless you know what you are 23doing. This can lead to mismatched header versions, which often times 24will lead to bad things. 25 26 $ git clone https://github.com/jgeboski/bitlbee-steam.git 27 $ cd bitlbee-steam 28 29With a "global" (or system) bitlbee installation: 30 31 $ ./autogen.sh 32 $ make 33 $ make install 34 35Or with a "local" bitlbee installation (location: $HOME/bitlbee): 36 37 $ export BITLBEE_CFLAGS="-I$HOME/bitlbee/include/bitlbee" 38 $ export BITLBEE_LIBS="" 39 $ ./autogen.sh --libdir=$HOME/bitlbee/lib 40 $ make 41 $ make install 42 43## Usage 44 45Before continuing, please note, any account which is a "Limited User 46Account" will not work with this plugin. These limited accounts have 47many features negated from them, which are required for this plugin 48to function correctly as a chat client. Please, do not file issues in 49the tracker if your account is a limited account. 50 51See: https://support.steampowered.com/kb_article.php?ref=3330-IAGK-7663 52 53Getting started: 54 55 > account add steam <username> <password> 56 > account steam on 57 58Authenticating with SteamGuard: 59 60 > account steam set authcode <code> 61 62Captcha interaction may be required: 63 64 > account steam set captcha <text> 65 66Output game play statues to the account channel(s): 67 68 > account steam set game_status true 69 70## Common Issues 71 72Below is a list of common issues and their respective fixes. 73 74### Expired token or session 75 76When the token or session identifier has expired, the user may see 77errors thrown by the plugin. Sometimes these errors are one time, but 78if they repeatedly and reliably happen, then a new token and session 79identifier need to be obtained. 80 81``` 82Login error: HTTP: 401 Unauthorized 83``` 84 85Fixing this issue is done by forcing the plugin to re-authenticate: 86 87``` 88account steam off 89account steam set -del token 90account steam on 91``` 92 93The account can also be deleted and re-added, but this will cause all 94other local metadata to be lost, such as local buddy aliases. 95 96## Debugging 97 98One of the two supported environment variables can be defined to enable 99debugging output. This can be used in unison with debuggers such as 100GDB, which should enable easier tracing of bugs. 101 102When posting to the issue tracker, please ensure any sensitive 103information has been stripped. 104 105For bitlbee and the plugin: 106 107 $ export BITLBEE_DEBUG=1 108 OR 109 $ BITLBEE_DEBUG=1 gdb ... 110 111For just the plugin: 112 113 $ export BITLBEE_DEBUG_STEAM=1 114 OR 115 $ BITLBEE_DEBUG_STEAM=1 gdb ... 116 117Obtaining a GDB backtrace: 118 119 $ gdb \ 120 -ex 'handle SIGPIPE nostop noprint pass' \ 121 -ex 'break g_log' -ex run -ex bt \ 122 --args /usr/sbin/bitlbee -Dnvc /etc/bitlbee/bitlbee.conf 123