StarryPy
StarryPy | ||||
---|---|---|---|---|
![]() | ||||
Général | ||||
Catégorie | Starbound [edit] | |||
Métadatas | ||||
Création | 23/05/2014 | |||
Dernière révision | 28/09/2017 |

StarryPy est un wrapper de Starbound créé par CarrotsAreMediocre, avec python 2.7. La version actuelle, très efficace, donnera suite à une version en python 3.4, StarryPy3k.
Caractéristiques
- Avec les plugins intégrés (que vous pouvez retirer)
- Gestion des joueurs. Kick, ban, whois, playerlist. Plusieurs niveaux de joueurs
- Message du jour (motd)
- Build protection par joueur/niveau
- Warping
- Commande Give
- Starter items pour les nouveaux joueurs
- Affichage des join/quit
- Et bien plus encore
Installation & configuration
Installation
Sur Debian, l'installation est on ne peut plus simple mais nécessite cependant un sudoers, si python 2.7 n'est pas installé sur votre machine.
- Tout d'abord assurons-nous que vous satisfaisiez tous les prérequis
<syntaxhighlight lang="Bash"> sudo apt-get install python2.7 python-dev python-pip git </syntaxhighlight>
- Une fois ceci fait, clonez le repo dans le répertoire de votre choix en utilisant git
<syntaxhighlight lang="Bash"> git clone https://github.com/CarrotsAreMediocre/StarryPy </syntaxhighlight>
- Installez ensuite les requirements python de StarryPy
<syntaxhighlight lang="Bash"> sudo pip install -r StarryPy/requirements.txt </syntaxhighlight> Et nous voilà rendus.
Configuration
Il vous faut configurer deux fichiers en particulier, celui de StarryPy et celui de Starbound, afin de les faire correspondre l'un, l'autre.
- Créez un fichier de config pour StarryPy en copiant config.json.default et en le renommant config.json, que vous trouverez dans le répertoire config. Éditez-le.
- upstream_port - Le port sur lequel tournera Starbound. Il est recommandé d'utiliser le port
21024
et de le faire correspondre à celui indiqué dans starbound.config - upstream_hostname - Changez cette donnée si vous hébergez votre serveur starbound sur un autre serveur.
- bind_port - Cela devrait être
21025
normalement. Il s'agit du port d'écoute de StarryPy. - passthrough - Assurez-vous qu'il est sur false. Il s'agit d'un switch off d'urgence pour StarryPy.
Enfin, ouvrez starbound.config et modifiez le gameport afin de le faire correspondre à celui indiqué dans upstream_port
dans config.json.
<spoiler><syntaxhighlight lang="java">{
"bind_address": "", "bind_port": 21025, "chat_prefix": "#", "chattimestamps": true, "colors": { "admin": "^#C443F7;", "default": "^#F7EB43;", "guest": "^#F7EB43;", "irc": "^#e39313;", "moderator": "^#4385F7;", "owner": "^#F7434C;", "registered": "^#A0F743;" }, "command_prefix": "/", "core_plugin_path": "core_plugins", "debug_file": "debug.log", "logging_format_console": "%(asctime)s - %(name)s - %(levelname)s - %(message)s", "logging_format_debugfile": "%(asctime)s - %(name)s - %(levelname)s - %(message)s", "logging_format_logfile": "%(asctime)s - %(name)s - %(levelname)s - %(message)s", "owner_uuid": "!!--REPLACE THIS--!!", "passthrough": false, "player_db": "config/player.db", "plugin_config": { "admin_messenger": { "auto_activate": true }, "afk_plugin": { "afk_msg": "is now AFK", "afkreturn_msg": "has returned", "auto_activate": true }, "announcer_plugin": { "auto_activate": true }, "bookmarks_plugin": { "auto_activate": true }, "brutus_whisper": { "auto_activate": true }, "chat_logger": { "auto_activate": true }, "claims": { "auto_activate": true, "max_claims": 5 }, "colored_names_plugin": { "auto_activate": true }, "command_dispatcher": { "auto_activate": true }, "emotes_plugin": { "auto_activate": true }, "fuelgiver_plugin": { "auto_activate": true }, "irc": { "auto_activate": false, "bot_nickname": "botname", "channel": "#channel", "color": "^#e39313;", "echo_from_channel": true, "nickserv_password": "password", "port": 6667, "server": "irc.freenode.net" }, "loginwho_plugin": { "auto_activate": true }, "motd_plugin": { "auto_activate": true, "motd": "Welcome to the server! Play nice." }, "mute_manager": { "auto_activate": true }, "new_player_greeter_plugin": { "auto_activate": true, "items": [ ], "message": "Welcome new Starbounder ;)" }, "starteritems_plugin": { "auto_activate": true, "items": [ [ "bandage", 20 ], [ "burger", 20 ], [ "stoneaxe", 1 ], [ "stonehoe", 1 ], [ "stonepickaxe", 1 ], [ "solariumore", 30 ], [ "money", 1000 ] ], "message": "You were given a set of starter items ;)" }, "planet_protect": { "auto_activate": true, "protect_everything": false, "bad_packets": [ "CONNECT_WIRE", "DISCONNECT_ALL_WIRES", "ENTITY_INTERACT", "OPEN_CONTAINER", "CLOSE_CONTAINER", "SWAP_IN_CONTAINER", "DAMAGE_TILE", "DAMAGE_TILE_GROUP", "REQUEST_DROP", "MODIFY_TILE_LIST" ], "bad_packets_mild": [ "CONNECT_WIRE", "DISCONNECT_ALL_WIRES", "DAMAGE_TILE", "DAMAGE_TILE_GROUP", "MODIFY_TILE_LIST" ], "blacklist": [ "bomb", "bombblockexplosion", "boneswoosh", "bouldersmashexplosion", "bouncycluster", "bouncyclustergrenade", "cluster", "clustergoo", "clustergrenade", "defensiveexplosion", "dungeonpodexplosion", "electricexplosion", "electrogrenade", "explosivebullet", "explosivegoo", "fireexplosion", "friendlyboneexplosion", "gas", "gas2", "gasgrenade", "glowbomb", "glowgas", "gravitybomb", "grenade", "grenade", "grenadeexplosion", "icestorm", "impactgrenade", "invisibleprojectile", "jellybossexplode", "jellybossgoo", "jumpbomb", "jumpgas", "largemeteor", "lavaballoon", "lavaprojectile", "magicmolotov", "megabeam", "meteor", "meteorblockprojectile", "meteorblockspawner", "meteorexplosion", "molotov", "molotovflame", "nail", "nailbomb", "plasmabullet", "plasmaexplosion2", "plasmagrenade", "plasmatorpedo", "poisonsmoke", "poisonstatusprojectile", "poopbreath", "pulsecannon", "pulsecannonexplosion", "purpleplasma", "regularexplosion", "regularexplosion2", "regularexplosionnospark", "rocket", "rocketexplosion", "runbomb", "rungas", "shockbomb", "smallmeteor", "smallregularexplosion", "targetexplosion", "vsmallregularexplosion", "vsmallregularexplosionnodamage", "water", "zbomb", "spinningrocket", "stationaryrocket" ], "player_planets": {}, "protected_planets": [] }, "player_manager": { "auto_activate": true, "name_removal_regexes": [ "\\^#[\\w]+;", "[^ \\w]+" ] }, "planet_visitor_announcer_plugin": { "auto_activate": true }, "players_plugin": { "auto_activate": true }, "plugin_manager": { "auto_activate": true }, "starbound_config_manager": { "auto_activate": true }, "uptime_plugin": { "auto_activate": true }, "user_management_commands": { "auto_activate": true }, "warpy_plugin": { "auto_activate": true }, "web_gui": { "auto_activate": true, "cookie_token": "", "log_path": "webgui.log", "log_path_access": "webgui_access.log", "ownerpassword": "!!PUT A PASSWORD HERE", "port": 8083, "remember_cookie_token": true, "restart_script": "" } }, "plugin_path": "plugins", "port_check": true, "reap_time": 10, "server_connect_timeout": 5, "server_name": "--ADD NAME--", "starbound_path": "/opt/starbound/", "upstream_hostname": "localhost", "upstream_port": 21024
} </syntaxhighlight></spoiler>
Lancement
Voilà! Il ne nous reste plus qu'à lancer le wrapper. Pour cela une seule commande suffit. Commande que je vous recommande de d'exécuter dans un screen <syntaxhighlight lang="java">screen -S StarryPy python server.py</syntaxhighlight>
Commandes
commande | description |
---|---|
/afk | Définir votre status sur AFK |
/bookmark | Bookmarker la planète courante |
/fuel | Octroyez-vous votre fuel quotidien |
/goto <bookmark> | Téléportez-vous à la planète bookmarkée |
/me | L'incontournable emote |
/motd | Voir le motd |
/planet | Afficher les joueurs se tenant sur votre planète |
/players | Lister les joueurs connectés |
/poi | les Points d‘intérêts (POI) sont les bookmarks globaux du serveur. Tapez /poi <nom> pour vous téléportez sur l'une d'elle.
|
/spawn | Rendez-vous au spawn |
/uptime | Afficher le serveur uptime |