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
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 |