Snoopy is a program similar to Warcraft III Banlist, aimed at improving the experience of Warcraft III players on Battle.net. Though focused on hosting, snoopy can be useful for any users as it allows for pinging, location checks, friends list following, and more. Snoopy is a native program built to use with Warcraft III on wine.
Snoopy can be found in the AUR, or installed with yaourt:
yaourt -S snoopy
Snoopy installs three programs in the /usr/bin directory, snoopy-sh, snoopy-ping, and snoopy-nox.
- snoopy-sh is a not so useful on arch script intended to run snoopy-nox for the current user. Ignore this.
- snoopy-ping is a frontend to the ping command that snoopy uses to ping. Feel free to ignore this too.
- snoopy-nox is the primary program that snoopy runs. This is all we're really going to worry about.
The quickest way to get snoopy up and running is to make your own script to run snoopy-nox. It takes three parameters: your network device, your uid, and your gid. These are necessary because snoopy must be ran as root. We'll make a new script. Call it whatever you want. I'll call mine snoopy-sh-local.
If you don't know your network interface run
to determine what it is. My interface (default ethernet) is eth0.
How you make your script is ultimately up to you. In my example I get the user's uid and gid using id -u and id -g respectively. I set the interface explicitly, eth0. Sudo is used because snoopy must be run as root. My script looks like this:
#!/bin/bash sudo snoopy-nox eth0 `id -u` `id -g`
When you've finished your simple script make sure it is executable:
# chmod 755 /usr/bin/snoopy-sh-local
That's it. Snoopy should now work properly. It is up to you how you want to run it with regards to Warcraft 3. It shouldn't matter whether you start snoopy before or after Warcraft 3. Perhaps you'll want to change your script to run Warcraft 3 as well after snoopy starts.
The last step is not necessary. You do not have to make your own script just to execute the program with the correct parameters. All you have to do is define yourself an alias.
- In your home directory run
- Add the following line as a new line with your interface (for example "eth0").
alias snoopy-sh-local='sudo snoopy-nox eth0 `id -u` `id -g`'
- Save and exit the file.
- For this time you have to run
This command re-reads your .bashrc and is no longer necessary because your .bashrc is read on every login.
Allowing sudo for snoopy
You might want to allow nopassword sudo for snoopy. First, edit the sudo config file
Add a line like the following: %wheel can be replaced with specific usernames if desired, otherwise it'll work for any users in the wheel group.