User Tools

Site Tools


Sidebar

en:openttd:xshunter

xShunter - the OpenTTD server controller

xShunter is a console application written in C#, that can control an OpenTTD server and adds new in-game features as well as a link to IRC. It can be compared to Autopilot/Avignon, by features as well as by technology (attaching to the OpenTTD server console to control it). However, since OpenTTD introduced an admin interface with version 1.0 xShunter can also utilize that, making it possible to provide more features.

See here for an overview of xShunter components and how they are playing together in a community environment that has more than one server.

Platform

It's being tested on Windows (.NET Framework) and Linux (Mono) but should also run on Mac (Mono).

License

Currently it is in early alpha stage and only selected testers are running servers with it. Later it will be released open source and of course free.

Features

Server control

  • xShunter attaches to the OpenTTD server console and takes full control over everything
  • Auto-restart the OpenTTD server when it crashed
  • Well-structured console messages account for good readability
  • xShunter commands as well as OpenTTD server commands can be used in the console
  • Admins can schedule a server shutdown or restart after the current game has ended (due to goal or year limit reached)

Flexibility and independence

  • No patching of OpenTTD needed
  • No xShunter update needed every time OpenTTD server is updated
  • OpenTTD server console message format fully configurable

IRC

  • The server joins all configured IRC channels
  • NickServ authentication supported
  • IRC channels can be set to be “full link” channels where all chat is mirrored between the channel an in-game
  • Company colors are shown using IRC color codes
  • Configurable symbols used to show certain actions on the server (e.g. connect, join company, leave the game…)
  • !triggers can be used from IRC as well as in-game (configurable)
  • Auto-Login
    • Players can be detected by their NickServ account
    • Players can get auto-login when joining a channel or when xShunter joins a channel

GeoIP

  • In console, IRC and in-game the country of players can be shown
  • The player country can be dynamically configured to be used in a welcome message

Voting system

  • Players can vote to
    • kick a player
    • ban a player
    • restart the game on the same map
    • restart the game with a new map
  • Any player can start a vote
  • The vote starter can cancel his own vote
  • Voting stops when a configurable ratio was met or when voting time ran out

Login and privilege system

  • Players can login and logout in-game and on IRC
  • After logging in players can use special triggers depending on the privileges they have

Goal system

  • A company wins the game when a certain company value level is reached
  • Current company values are announced in configurable intervals
  • Players can query the current goal and company values using the !goal or !cv
  • After a company won all other players are moved out of their company and the winner is announced several times, before the game restarts

Plug-in system

  • Plug-ins for xShunter can be written by yourself or downloaded from others
  • Plug-ins can be written in VB.NET or C#, they can also be distributed and loaded as binary files without source
  • xShunter supports loading, reloading or unloading of plug-ins while the game is running
  • Pausing and unpausing of plug-ins is possible if the plug-in is supporting that
  • As long as the runtime is supporting it plug-ins can be run sandboxds, separated from the main xShunter process and with lowered privileges

Several other features

  • Clone detection (warning on IRC/console)
  • Enforcing a custom player name
    • If enabled, players with default names (Player or Player #1 etc.) are forced to spectators until they change their name
    • Alternatively a randomly generated name can be assigned for players as soon as they join a company
    • Players get the information that they can use the “!name” trigger for easy in-game name changing
  • Company takeover prevention
    • If enabled, players cannot join companies without password
    • A player on the company can use !invite to allow another player to join
  • Support for custom triggers that reply with a configurable message (e.g. to reply to !rules with your own rules information)
  • Much more…

Resources

Download

Sorry, xShunter is not available for download yet.

en/openttd/xshunter.txt · Last modified: 2018/07/17 23:15 by xor