Skip to main content

A minecraft server manager

Project description

Tequila is a command-line Minecraft server manager written in python.

It provides some basic functions to create, deploy, and manage multiple servers on the same host.

## Installation

### Prerequisites

  • [python 3][python]

  • [GNU Screen][screen]

  • [Maven 3][maven]

### With the package manager (recommended)

From an elevated shell, run pip install tequila.

### From the source code

From an elevated shell, run pip install -e git+https://github.com/Snaipe/Tequila.git#egg=tequila.

You may check if Tequila is installed by running tequila -h

## Getting started

Make sure you have properly installed Tequila and all of its dependencies.

  1. Configure Tequila’s home directory

    The first thing you might want to change is the directory where Tequila will manage the servers. Tequila will try to read the value of the TEQUILA_HOME environment variable, and fallback to the value of default_home specified inside /etc/tequila/tequila.conf if the variable is not defined – this is why you might want to either set the variable in your shell startup file or in /etc/environment, or change the value of default_home.

  2. Create a server

    To create a server, simply enter tequila create [server name], then navigate to the newly created server directory. There, you will find 3 files: * application.opts: the executable jar parameters * jvm.opts: the Java Virtual Machine parameters * tequila.config: the server configuration

    The application.opts and jvm.opts can be tuned to fit your specifications. tequila.config is the configuration file where you will put the repositories, plugins, and server artifacts to use during production.

  3. Deploy the server

    Once done, deploy your server using tequila deploy [server name]. This will try to resolve, download, and copy all of the artifacts needed for your server.

  1. Start the server

    At that point, you are (almost) done. You may start your server with tequila start [server name], and configure your plugins.

This covers the basic use of Tequila.

For more information on all the available commands, run tequila -h, and tequila [command] -h.

## Pulling plugins from http://dev.bukkit.org/

Tequila only pulls plugins from maven repositories, but since most (if not all) plugins come from [BukkitDev][bukkitdev], we made a nice tool called [BlackDog][blackdog].

BlackDog, more than being a nice cocktail made with tequila, is a web service that maps plugins from BukkitDev to a maven repository structure.

You can set it up somewhere and run it (be it locally or remotely), then add the proper repository inside the configuration file of your server(s):

` [repositories] ... blackdog: http://example.com:port/ `

… and then reference your plugins as normal maven artifacts:

` [plugins] ... plugin-a: local.blackdog:plugin-a:1.0.1 plugin-b: local.blackdog:plugin-b:2.3.6 ... `

You might notice that in this example, the group ids are set to local.blackdog – this is a consequence of BlackDog being ‘group-id agnostic’: since BukkitDev does not have any group id information, you can pretty much set the group id to the value you want, and BlackDog will respond accordingly.

There are no limitations on the group id you specify, but we advise you to use something unique such as local.blackdog to prevent the plugin from being pulled from something other than BukkitDev.

As a side note, all artifacts visible on the web service are releases and must be considered as such when entering the plugin version (i.e. don’t put ‘-SNAPSHOT’ at the end of the plugin version if you pull the plugin from BlackDog).

## FAQ

Q: How can I access my server’s console ? A: Tequila uses [Screen][screen] to manage the server, so for the moment you only need to attach to the associated screen. This may be done with the command screen -r tequila_<name>, where <name> is your server’s name.

Q: Help, I attached to the console, but I can’t get out ! A: You need to detach from the screen by pressing “Ctrl-a, d”.

Q: I changed some settings in tequila.config, how do I update the server again ? A: First, make sure your server is stopped, then run again tequila deploy <name>.

Q: How do I get <Plugin X> ? A: See answer below.

Q: Most plugins are not on maven repositories, how do I get Tequila to download those ? A: Consider using [Blackdog][blackdog] with tequila, or manually download all the needed non-maven dependencies with tequila download [url]. You could also set-up your own maven repository and put all the needed plugins in there.

Q: Why is Tequila missing <Insert feature name here> ? A: We gladly take suggestions on the [issue management system][issues], if you’d like to see a new feature on Tequila and you’re a developer, feel free to fork this repository and submit a pull request – see section [Contributing](#contributing) to know how to get yours accepted.

Q: I have an issue / bug, what do I do ? A: Go to the [issue management system][issues], then search if the problem has already been documented. If not, feel free to open a new ticket.

## Contributing

You need to observe the following rules for pull requests:

  • Your modifications must be working and tested.

  • Follow python’s official formatting rules and be consistent with the project style.

  • Squash your commits into one if you can.

  • If new files are added, please say so in the commit message, and add the license header.

  • Keep your commit messages simple and concise. Good commit messages start with a verb (‘Add’, ‘Fix’, …).

  • Your branch must be based off an up-to-date master, or at least must be able to be merged automatically.

  • Sign off your pull request message by appending ‘Signed-off-by: <name> <email>’ to the message.

By submitting a pull request you accept to license your code under the GNU Public License version 3.

[logo]: ../graphics/logo.png?raw=true [python]: https://www.python.org/ [screen]: http://www.gnu.org/software/screen/ [maven]: http://maven.apache.org/ [bukkitdev]: http://dev.bukkit.org/bukkit-plugins/ [blackdog]: http://github.com/Snaipe/BlackDog.git [issues]: https://github.com/Snaipe/Tequila/issues

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tequila-1.0.4.tar.gz (28.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

tequila-1.0.4.linux-x86_64.tar.gz (26.3 kB view details)

Uploaded Source

tequila-1.0.4-py3.4.egg (41.6 kB view details)

Uploaded Egg

File details

Details for the file tequila-1.0.4.tar.gz.

File metadata

  • Download URL: tequila-1.0.4.tar.gz
  • Upload date:
  • Size: 28.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tequila-1.0.4.tar.gz
Algorithm Hash digest
SHA256 f0bf63d9dd9f945c18b7c8482bfdcb33fb4f02741a6bb05ff73086c59fd43bb9
MD5 cf5459441697c07c44eb1a7517e8dc11
BLAKE2b-256 1354ef25c0bb23017aea50bab71310e2474da74bb3fc73022b7ce2c02b884b90

See more details on using hashes here.

File details

Details for the file tequila-1.0.4.linux-x86_64.tar.gz.

File metadata

File hashes

Hashes for tequila-1.0.4.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 f41e47f68dcb5e5e2ecdd310bd37f788f8326a19e9c79881e14c24feceb5113a
MD5 71933b4ef0096dd99c1f1cb6ebb8d92d
BLAKE2b-256 fd677f30a45a93a5e79c1103a2f5b76c984f9abcfa550035f2dcb5ed487765e5

See more details on using hashes here.

File details

Details for the file tequila-1.0.4-py3.4.egg.

File metadata

  • Download URL: tequila-1.0.4-py3.4.egg
  • Upload date:
  • Size: 41.6 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tequila-1.0.4-py3.4.egg
Algorithm Hash digest
SHA256 317abbb24b6af90431e8ab11016754fa22e75f12d00b7e2c8d2e41d31ca50a20
MD5 c4df755f5c1ddfa09288c494f44328c1
BLAKE2b-256 333f39b929f2c395d2764692eb5aa5be53352c9cc4f7620d660d34e303582420

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page