{ "info": { "author": "Christopher Bailey", "author_email": "cbailey@mort.is", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "===================\nGame Server Manager\n===================\n\n\n.. image:: https://img.shields.io/pypi/v/game_server_manager.svg\n :target: https://pypi.python.org/pypi/game_server_manager\n :alt: PyPi\n\n.. image:: https://img.shields.io/pypi/pyversions/game_server_manager.svg\n :target: https://pypi.python.org/pypi/game_server_manager\n :alt: Python Versions\n\n.. image:: https://img.shields.io/travis/AngellusMortis/game_server_manager.svg\n :target: https://travis-ci.org/AngellusMortis/game_server_manager\n :alt: Travis CI\n\n.. image:: https://readthedocs.org/projects/game-server-manager/badge/?version=latest\n :target: https://game-server-manager.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation\n\n.. image:: https://pyup.io/repos/github/AngellusMortis/game_server_manager/shield.svg\n :target: https://pyup.io/repos/github/AngellusMortis/game_server_manager/\n :alt: Updates\n\n.. image:: https://coveralls.io/repos/github/AngellusMortis/game_server_manager/badge.svg?branch=master\n :target: https://coveralls.io/github/AngellusMortis/game_server_manager?branch=master\n :alt: Coverage\n\n.. image:: https://api.codeclimate.com/v1/badges/982bb673e87f58dac7d1/maintainability\n :target: https://codeclimate.com/github/AngellusMortis/game_server_manager/maintainability\n :alt: Maintainability\n\n.. image:: https://api.codeclimate.com/v1/badges/982bb673e87f58dac7d1/test_coverage\n :target: https://codeclimate.com/github/AngellusMortis/game_server_manager/test_coverage\n :alt: Test Coverage\n\n\nCommand to manage and control various types of game servers.\n\n\n* Free software: MIT license\n* (Coming soon!) Documentation: https://game-server-manager.readthedocs.io.\n\n\nRequirements\n------------\n\n* POSIX Complient System - built and tested on Arch Linux, but should work on any Linux, MAC OSX or Windows Subsystem for Linux version\n * Uses and requires the following commands::\n\n grep\n java # optional for Java based servers\n ln\n nohup\n ps\n screen # optional for screen based servers\n steamcmd # optional for Steam based servers\n vim # or whatever your default $EDITOR command is\n which\n\n* Python - built and tested with 3.6, but for full 1.0 release, unit tests will suppport 2.7 and 3.4+ unless there is a compelling reason not to\n\nFeatures\n--------\n\nAllows full management of different types of servers with full configuration supported for each. Existing types (so far):\n\nGeneric configurable gameserver types\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* **Custom Screen (custom_screen)**: Generic gameserver that has an interactive console and can easily be ran via the screen command. Requires additional configuration to work.\n* **Custom Steam (custom_steam)**: Generic gameserver that can be installed and updated from Steam. Also, optionally support Steam workshop. Requires additional configuration to work.\n* **Custom RCON (custom_rcon)**: Generic Steam gameserver with `Source RCON protocol`_ support. Requires additional configuration to work.\n* **Java (java)**: Generic Java base gameserver that can be ran with screen. Requires additional configuration to work.\n\nGameservers for specific games\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* **Minecraft (minecraft)**: Java based gameserver ran with screen for Minecraft.\n* **ARK (ark)**: Steam based gameserver with RCON support for ARK: Surivial Evolved.\n\nQuickstart\n----------\n\nInstall from pip::\n\n sudo pip install game_server_manager\n gs --help\n\n`gs` will attempt to use `.gs_config.json` as the main configuration file. If this does not exist, you must provide all configuration options via command line. `-t` will speciify type of gameserver and `-s` will save a `.gs_config.json` file based on your commandline parameters.\n\nGeneric\n~~~~~~~\n\n1. Generate default config (assuming generic type of `custom_screen`)::\n\n gs -t custom_screen -s status\n\n2. Edit `.gs_config.json` with anything that is relevant to your server\n3. Start server::\n\n gs start\n\n4. *Optional*: Once you get everything working, make an issue and/or pull request to make a new server type so you do not have to configure in the future!\n\nMinecraft\n~~~~~~~~~\n\nExisting Install\n****************\n\nIf you already have an existing install, it is simple to set up `gs` to run with it::\n\n gs -t minecraft -s status\n\nThis will generate a default `.gs_config.json` file. Edit this to match your existing install.\n\nJava\n****\n\nYou much have Java installed to run Minecraft. If you need help installing Java, consult the documentation on the Minecraft wiki:\n\n* https://minecraft.gamepedia.com/Tutorials/Setting_up_a_server#Installing_Java_2\n\nFirewall\n********\n\nOpen any firewall ports you need as detailed on Minecraft wiki:\n\n* https://minecraft.gamepedia.com/Tutorials/Setting_up_a_server#Firewalling.2C_NATs_and_external_IP_addresses\n\nInstall/Start\n*************\n\nAssuming you want the latest stable version of Minecraft and the server to run as user `minecraft` with all of the default settings::\n\n gs -t minecraft -u minecraft -s install\n gs start\n gs status\n\nSee `gs -t minecraft install --help` for more details.\n\n\nARK\n~~~\n\nExisting Install\n****************\n\nIf you already have an existing install, it is simple to set up `gs` to run with it::\n\n gs -t ark -s status\n\nThis will generate a default `.gs_config.json` file. Edit this to match your existing install.\n\nSteamCMD\n********\n\nInstall SteamCMD according to the docs for your OS:\n\n* Valve Docs: https://developer.valvesoftware.com/wiki/SteamCMD\n* Arch Linux: https://wiki.archlinux.org/index.php/Steam#SteamCMD\n\nOpen File Limit\n***************\n\nIncrease Open Files Limit as detailed on ARK wiki:\n\n* https://ark.gamepedia.com/Dedicated_Server_Setup#Open_Files_Limit\n\nFirewall\n********\n\nOpen any firewall ports you need as detailed on ARK wiki:\n\n* https://ark.gamepedia.com/Dedicated_Server_Setup#Port_Forwarding_and_Firewall\n\nInstall/Start\n*************\n\nAssuming you want the server to run as user `ark` with all of the default settings and no mods::\n\n gs -t ark -u ark -s install\n gs start\n gs status\n\nSee `gs -t ark install --help` for more details.\n\n\n.. _Source RCON protocol: https://developer.valvesoftware.com/wiki/Source_RCON_Protocol\n\nMultiple Instances\n******************\n\nIt is common to run multiple ARK servers together as a cluster. To do this, you want to use the `instance_overrides` config option. Example `.gs_config.json`_\n\n.. _.gs_config.json: https://gist.github.com/AngellusMortis/9547ae3f8be88768fa362157972983a9\n\nYou can run subcommands against all instances at once with `-ci @all`. You can even run them all in parellel (get for starting and stopping) with `-p`::\n\n gs start -ci @all -p\n gs status -ci @all\n gs stop -ci @all -p\n\n\nPlanned\n-------\n\nStuff planned before the 1.0 release:\n\n* Full Unit Test and code coverage (Python 2.7, 3.4+ support)\n* Documentation\n* Forge and Curse support for Minecraft servers\n* Backup command for all servers\n* Staging support to update servers while still running\n* Probably more stuff and maybe more server types\n\nCredits\n---------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n=======\nHistory\n=======\n\n0.1.2 (2017-12-16)\n------------------\n\n* Changes `gs` to re-run main command as user if it is different than existing. Removes all extra logic for indivual commands as another user.\n\n0.1.0 (2017-12-15)\n------------------\n\n* First release on PyPI.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/AngellusMortis/game_server_manager", "keywords": "game_server_manager", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "game-server-manager", "package_url": "https://pypi.org/project/game-server-manager/", "platform": "", "project_url": "https://pypi.org/project/game-server-manager/", "project_urls": { "Homepage": "https://github.com/AngellusMortis/game_server_manager" }, "release_url": "https://pypi.org/project/game-server-manager/0.1.2/", "requires_dist": null, "requires_python": "", "summary": "Command to manage and control various types of game servers.", "version": "0.1.2" }, "last_serial": 3421889, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d00b459640eb595926ecc6f583f6c009", "sha256": "be90cfba0c7ccf19ea53f536e454c8ec9969d795310ef19a08c73895ba94c779" }, "downloads": -1, "filename": "game_server_manager-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d00b459640eb595926ecc6f583f6c009", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56725, "upload_time": "2017-12-16T03:41:47", "url": "https://files.pythonhosted.org/packages/82/c8/42e624d2bd8374e416abcf9bc612b02594a660399e39060b5ccc7021d938/game_server_manager-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3427fcb93dcb26b7db4618283e2f584c", "sha256": "8c684bce5246e1c79f028f962758ad448d7265f4a9a850af299f304addf73439" }, "downloads": -1, "filename": "game_server_manager-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3427fcb93dcb26b7db4618283e2f584c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56711, "upload_time": "2017-12-16T03:43:27", "url": "https://files.pythonhosted.org/packages/c2/30/a78468aa83c07d3d937d90b009a42010cd7e59f70c464d938829c6a87237/game_server_manager-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "136d67a870c991b771bdf455c2a0d5b4", "sha256": "9c9db14c9f66f14f7ae9aff84550faf675e0f26a47a0deb30c166f590fec4f72" }, "downloads": -1, "filename": "game_server_manager-0.1.2.tar.gz", "has_sig": false, "md5_digest": "136d67a870c991b771bdf455c2a0d5b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57526, "upload_time": "2017-12-16T15:37:02", "url": "https://files.pythonhosted.org/packages/19/61/38bdfa1d9d0f30802b86066d9e49b74ee5bbc8ed6a30c56a5dd11a34e58a/game_server_manager-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "136d67a870c991b771bdf455c2a0d5b4", "sha256": "9c9db14c9f66f14f7ae9aff84550faf675e0f26a47a0deb30c166f590fec4f72" }, "downloads": -1, "filename": "game_server_manager-0.1.2.tar.gz", "has_sig": false, "md5_digest": "136d67a870c991b771bdf455c2a0d5b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57526, "upload_time": "2017-12-16T15:37:02", "url": "https://files.pythonhosted.org/packages/19/61/38bdfa1d9d0f30802b86066d9e49b74ee5bbc8ed6a30c56a5dd11a34e58a/game_server_manager-0.1.2.tar.gz" } ] }