« StarryPy » : différence entre les versions
mAucun résumé des modifications |
m Remplacement de texte — « |290px| » par « |upright=1| » |
||
(2 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{Infobox Tutoriel| image = CarrotsAreMediocre_avatar.png| catégorie = Starbound | os = Linux/Debian | création = 23/05/2014|}} | |||
[[Fichier:StarryPy_webGUI.png|thumb|upright=1|WebGUI de StarryPy]] | |||
'''StarryPy''' est un wrapper de [[Starbound]] créé par [https://github.com/CarrotsAreMediocre/StarryPy 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''' | |||
* [https://github.com/MrMarvin/StarryPy_plugins 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 <code>21024</code> 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 <code>21025</code> 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 <code>upstream_port</code> 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 [http://doc.ubuntu-fr.org/screen screen] | |||
<syntaxhighlight lang="java">screen -S StarryPy python server.py</syntaxhighlight> | |||
== Commandes == | == Commandes == | ||
{| class="wikitable2" | {| class="wikitable2" | ||
Ligne 5 : | Ligne 307 : | ||
|- | |- | ||
|/afk | |/afk | ||
| | |Définir votre status sur AFK | ||
|- | |- | ||
|/bookmark | |/bookmark | ||
| | |Bookmarker la planète courante | ||
|- | |- | ||
|/fuel | |/fuel | ||
| | |Octroyez-vous votre fuel quotidien | ||
|- | |- | ||
|/goto | |/goto <bookmark> | ||
| | |Téléportez-vous à la planète bookmarkée | ||
|- | |- | ||
|/me | |/me | ||
| | |L'incontournable emote | ||
|- | |- | ||
|/motd | |/motd | ||
| | |Voir le motd | ||
|- | |- | ||
|/planet | |/planet | ||
| | |Afficher les joueurs se tenant sur votre planète | ||
|- | |- | ||
|/players | |/players | ||
| | |Lister les joueurs connectés | ||
|- | |- | ||
|/poi | |/poi | ||
|Points | |les '''Points d‘intérêts''' (POI) sont les bookmarks globaux du serveur. Tapez <code>/poi <nom></code> pour vous téléportez sur l'une d'elle. | ||
|- | |- | ||
|/spawn | |/spawn | ||
| | |Rendez-vous au spawn | ||
|- | |- | ||
|/uptime | |/uptime | ||
| | |Afficher le serveur uptime | ||
|} | |} | ||
[[Catégorie:Tutoriel]] | [[Catégorie:Tutoriel]] |
Dernière version du 28 septembre 2017 à 12:59
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 |