« StarryPy » : différence entre les versions
Page redirigée vers StarryPy3k |
m Remplacement de texte — « |290px| » par « |upright=1| » |
||
(3 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 == | |||
{| class="wikitable2" | |||
!'''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 <code>/poi <nom></code> pour vous téléportez sur l'une d'elle. | |||
|- | |||
|/spawn | |||
|Rendez-vous au spawn | |||
|- | |||
|/uptime | |||
|Afficher le serveur uptime | |||
|} | |||
[[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
sudo apt-get install python2.7 python-dev python-pip git
- Une fois ceci fait, clonez le repo dans le répertoire de votre choix en utilisant git
git clone https://github.com/CarrotsAreMediocre/StarryPy
- Installez ensuite les requirements python de StarryPy
sudo pip install -r StarryPy/requirements.txt
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>
{
"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
}
</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
screen -S StarryPy python server.py
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 |