Autopilot/ap+

From #openttdcoop wiki

Revision as of 17:05, 5 August 2008 by Dihedral (Talk | contribs) (standard)

Jump to: navigation, search

ap+

about

ap+ is a branch of Autopilot - trying to not lose too many features and to provide many more. development is at version ap+ 3.0 beta (started counting after autopilot's 2.x)

license

for license information please see Autopilot#License

features

standard

features from autopilot:

  • Periodic automatic server password changes
  • Implementation of max_clients, max_companies and max_spectators settings in openttd.cfg (not normally available in OpenTTD revision 6280 and earlier)
  • Implementation of net_frame_freq setting in openttd.cfg
  • Automatic pausing of the server when the number of connected clients is below a user-defined threshold
  • Greeting of players, by name, as they join the server (up to three chat lines)
  • Changes behaviour of exit console command to save the game to game.sav before closing the server
  • Changes behaviour of save console command to use a default of game.sav if no file is specified
  • adds version and license commands to console
  • adds an admin pager facility to the game

features introduced in ap+:

  • callback environment (used for all !commands and callbacks)
  • custom in-game !commands
  • callback on client joining the game (MOTD now takes place in here and can be sent to the new client privately)
  • callback on changed server password

irc

requires: tcllib features from autopilot:

  • Bridging of in-game chat with IRC channel, allowing IRC users to converse with players, and vice-versa.
  • Provides channel and privmsg commands to query the players and companies on the server
  • Provides channel and privmsg commands to show server version and newgrf settings
  • Provides privmsg rcon commands, allowing IRC users with the rcon password to control the server
  • Provides channel and privmsg commands allowing IRC users to learn the current password
  • Supports CTCP VERSION and can identify to IRC services

features added in ap+:

  •  !rcon command can now be used by channel op's (from channel or privmsg) without the rcon command (e.g. !rcon pause)
  • custom !commands (see custom !commands for more details)
  • auto-rejoin after kick
  •  !leave command (leave the channel, make bot rejoin with /invite)

features planed for ap+:

  • capture console output and return to the command issueing irc client
  • private chat between irc client and game client

mysql

unchanged, see Autopilot#MySQL module

signals

requires tclx ap+ provides kill signal catching and sourcing files from autopilot/signals/ appropriately please note that not all os's support all the signals that ap+ has support for. ap+ will filter the unsupported signals out of the list and output a warning. bin/ap-signal.sh links the kill signals to actions their respective signal tcl script performes (making it easier to determin what signal to send) (e.g. bin/ap-signal.sh IRC_QUIT will disconnect form the irc server)


custom commands

the custom !commands from irc currently (please not that this will change soon) have following available variables / procedures:

[who]

(string) returns the name of the nick that called on irc

[target]

(string) where was the message picked up from

::ap::say::everywhere "message"

send a message to the game / irc / mysql (if loaded of course)

::mod_irc::say::reply $isPrivate [who] "message"

reply in the same manor the server has been addressed (public chat / privmsg)

::mod_irc::say::public [who] "message"

say publicly to the channel, and highlight the client that addressed the server

::mod_irc::say::public "message"

just send a message to the irc channel

::mod_irc::say::private [who] message

send a privmsg to an irc client

::mod_irc::nickIsOp [who]

(bool) check if [who] is a channel op

::mod_irc::chatIsPrivate [target] 

(boolean) true if we have been addressed in a privmsg

::ap::game::console "command\r"

execute a console command (please not the \r at the end of each command to issue)

::ap::game::pause and ::ap::game::unpause

pause / unpause the game

::ap::game::save [<name>]

save the game (default to game.sav, optionally specify a name)

as i am working on a cleaner callback environment please note that these details are bound to change / expand

svn

svn co http://svn.openttdcoop.org/tools/autopilot/branches/ap+

Powered by MediaWiki