182 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			182 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
 | |
| IRC Mod for Minetest
 | |
| ====================
 | |
| 
 | |
| Introduction
 | |
| ------------
 | |
| 
 | |
| This mod is just a glue between IRC and Minetest. It provides two-way
 | |
|  communication between the in-game chat, and an arbitrary IRC channel.
 | |
| 
 | |
| The forum topic is [here][forum].
 | |
| 
 | |
| [forum]: https://forum.minetest.net/viewtopic.php?f=11&t=3905
 | |
| 
 | |
| 
 | |
| Installing
 | |
| ----------
 | |
| 
 | |
| Quick one line install for Linux:
 | |
| 
 | |
| 	cd <Mods directory> && git clone --recursive https://github.com/minetest-mods/irc.git
 | |
| 
 | |
| Please change `<Mods directory>` to fit your installation of Minetest.
 | |
| For more information, see [the wiki][wiki].
 | |
| 
 | |
| The IRC mod's git repository uses submodules, therefore you will have to run
 | |
| `git submodule init` when first installing the mod (unless you used
 | |
| `--recursive` as above), and `git submodule update` every time that a submodule
 | |
| is updated. These steps can be combined into `git submodule update --init`.
 | |
| 
 | |
| You'll need to install LuaSocket. You can do so with your package manager on
 | |
| many distributions, for example:
 | |
| 
 | |
| 	# # On Arch Linux:
 | |
| 	# pacman -S lua51-socket
 | |
| 	# # On Debian/Ubuntu:
 | |
| 	# # Debian/Ubuntu's LuaSocket packages are broken, so use LuaRocks.
 | |
| 	# apt-get install luarocks
 | |
| 	# luarocks install luasocket
 | |
| 
 | |
| You will also need to add IRC to your trusted mods if you haven't disabled mod
 | |
| security. Here's an example configuration line:
 | |
| 
 | |
| 	secure.trusted_mods = irc
 | |
| 
 | |
| [wiki]: https://wiki.minetest.net/Installing_mods
 | |
| 
 | |
| 
 | |
| Settings
 | |
| --------
 | |
| 
 | |
| All settings are changed in `minetest.conf`. If any of these settings
 | |
| are not set, the default value is used.
 | |
| 
 | |
| * `irc.server` (string):
 | |
|   The address of the IRC server to connect to.
 | |
| 
 | |
| * `irc.channel` (string):
 | |
|   The IRC channel to join.
 | |
| 
 | |
| * `irc.interval` (number, default 2.0):
 | |
|   This prevents the server from flooding. It should be at
 | |
|   least 2.0 but can be higher. After four messages this much
 | |
|   time must pass between folowing messages.
 | |
| 
 | |
| * `irc.nick` (string):
 | |
|   Nickname the server uses when it connects to IRC.
 | |
| 
 | |
| * `irc.password` (string, default nil):
 | |
|   Password to use when connecting to the server.
 | |
| 
 | |
| * `irc.NSPass` (string, default nil):
 | |
|   NickServ password. Don't set this if you use SASL authentication.
 | |
| 
 | |
| * `irc.sasl.pass` (string, default nil):
 | |
|   SASL password, same as nickserv password.
 | |
|   You should use this instead of NickServ authentication
 | |
|   if the server supports it.
 | |
| 
 | |
| * `irc.sasl.user` (string, default `irc.nick`):
 | |
|   The SASL username. This should normaly be set to your
 | |
|   NickServ account name.
 | |
| 
 | |
| * `irc.debug` (boolean, default false):
 | |
|   Whether to output debug information.
 | |
| 
 | |
| * `irc.disable_auto_connect` (boolean, default false):
 | |
|   If false, the bot is connected by default. If true, a player with
 | |
|   the 'irc_admin' privilege has to use the `/irc_connect` command to
 | |
|   connect to the server.
 | |
| 
 | |
| * `irc.disable_auto_join` (boolean, default false):
 | |
|   If false, players join the channel automatically upon entering the
 | |
|   game. If true, each user must manually use the `/join` command to
 | |
|   join the channel. In any case, the players may use the `/part`
 | |
|   command to opt-out of being in the channel.
 | |
| 
 | |
| * `irc.send_join_part` (boolean, default true):
 | |
|   Determines whether to send player join and part messages to the channel.
 | |
| 
 | |
| 
 | |
| Usage
 | |
| -----
 | |
| 
 | |
| Once the game is connected to the IRC channel, chatting in-game will send
 | |
| messages to the channel, and will be visible by anyone. Also, messages sent
 | |
| to the channel will be visible in-game.
 | |
| 
 | |
| Messages that begin with `[off]` from in-game or IRC are not sent to the
 | |
| other side.
 | |
| 
 | |
| This mod also adds a few chat commands:
 | |
| 
 | |
| * `/irc_msg <nick> <message>`:
 | |
|   Send a private message to a IRC user.
 | |
| 
 | |
| * `/join`:
 | |
|   Join the IRC chat.
 | |
| 
 | |
| * `/part`:
 | |
|   Part the IRC chat.
 | |
| 
 | |
| * `/irc_connect`:
 | |
|   Connect the bot manually to the IRC network.
 | |
| 
 | |
| * `/irc_disconnect`:
 | |
|   Disconnect the bot manually from the IRC network (this does not
 | |
|   shutdown the game).
 | |
| 
 | |
| * `/irc_reconnect`:
 | |
|   Equivalent to `/irc_disconnect` followed by `/irc_connect`.
 | |
| 
 | |
| You can also send private messages from IRC to in-game players
 | |
| by sending a private message to the bot (set with the `irc.nick`
 | |
| option above), in the following format:
 | |
| 
 | |
| 	@playername message
 | |
| 
 | |
| For example, if there's a player named `mtuser`, you can send him/her
 | |
| a private message from IRC with:
 | |
| 
 | |
| 	/msg server_nick @mtuser Hello!
 | |
| 
 | |
| The bot also supports some basic commands, which are invoked by saying
 | |
| the bot name followed by either a colon or a comma and the command, or
 | |
| sending a private message to it. For example: `ServerBot: help whereis`.
 | |
| 
 | |
| * `help [<command>]`:
 | |
|   Prints help about a command, or a list of supported commands if no
 | |
|   command is given.
 | |
| 
 | |
| * `uptime`:
 | |
|   Prints the server's running time.
 | |
| 
 | |
| * `whereis <player>`:
 | |
|   Prints the coordinates of the given player.
 | |
| 
 | |
| * `players`:
 | |
|   Lists players currently in the server.
 | |
| 
 | |
| 
 | |
| Thanks
 | |
| ------
 | |
| 
 | |
| I'd like to thank the users who supported this mod both on the Minetest
 | |
| Forums and on the `#minetest` channel. In no particular order:
 | |
| 
 | |
| 0gb.us, ShadowNinja, Shaun/kizeren, RAPHAEL, DARGON, Calinou, Exio,
 | |
| vortexlabs/mrtux, marveidemanis, marktraceur, jmf/john\_minetest,
 | |
| sdzen/Muadtralk, VanessaE, PilzAdam, sfan5, celeron55, KikaRz,
 | |
| OldCoder, RealBadAngel, and all the people who commented in the
 | |
| forum topic. Thanks to you all!
 | |
| 
 | |
| 
 | |
| License
 | |
| -------
 | |
| 
 | |
| See `LICENSE.txt` for details.
 | |
| 
 | |
| The files in the `irc` directory are part of the LuaIRC project.
 | |
| See `irc/LICENSE.txt` for details.
 |