« StarryPy » : différence entre les versions

De Nefald Wiki
Aller à la navigation Aller à la recherche
Hiob (discussion | contributions)
mAucun résumé des modifications
Hiob (discussion | contributions)
mAucun résumé des modifications
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|290px|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
|Sets your player status to AFK (Away from Keyboard)
|Définir votre status sur AFK
|-
|-
|/bookmark
|/bookmark
|Bookmarks the planet you are currently on
|Bookmarker la planète courante
|-
|-
|/fuel
|/fuel
|Grants you a bit of fuel
|Octroyez-vous votre fuel quotidien
|-
|-
|/goto or /goto *bookmark name*
|/goto <bookmark>
|Lets you warp to your bookmarked planet
|Téléportez-vous à la planète bookmarkée
|-
|-
|/me
|/me
|A emote command, type whatever you want after /me!
|L'incontournable emote
|-
|-
|/motd
|/motd
|View server Message of the Day
|Voir le motd
|-
|-
|/planet
|/planet
|Shows players on your planet
|Afficher les joueurs se tenant sur votre planète
|-
|-
|/players
|/players
|List of players on the server
|Lister les joueurs connectés
|-
|-
|/poi
|/poi
|Points of Interest (POI) are Server Set bookmarked planets. type /poi *name* to warp there
|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
|warp to spawn planet
|Rendez-vous au spawn
|-
|-
|/uptime
|/uptime
|Displays server uptime
|Afficher le serveur uptime
|}
|}


[[Catégorie:Tutoriel]]
[[Catégorie:Tutoriel]]

Version du 23 mai 2014 à 09:28


StarryPy
StarryPy
Général
Catégorie Starbound [edit]
Métadatas
Création 23/05/2014
Dernière révision 23/05/2014


WebGUI de StarryPy


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