X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=rogue_chat.py;h=6696a7348088dd5ec6819f79686f5865c7574e75;hb=HEAD;hp=aebeffbf7c2186da680734d099e31c7f2b0018b3;hpb=ff01e1b466c1df7c938d1281ca34718e555bcf67;p=plomrogue2 diff --git a/rogue_chat.py b/rogue_chat.py index aebeffb..6696a73 100755 --- a/rogue_chat.py +++ b/rogue_chat.py @@ -1,39 +1,130 @@ #!/usr/bin/env python3 from plomrogue.game import Game -from plomrogue.io_websocket import PlomWebSocketServer -from plomrogue.io_tcp import PlomTCPServer -from plomrogue.commands import (cmd_ALL, cmd_LOGIN, cmd_NICK, cmd_QUERY, cmd_PING, - cmd_MAP, cmd_TURN, cmd_MAP_LINE, cmd_GET_ANNOTATION, +from plomrogue.commands import (cmd_ALL, cmd_LOGIN, cmd_NICK, cmd_PING, cmd_THING, + cmd_MAP, cmd_TURN, cmd_MAP_LINE, cmd_THING_INSTALLED, cmd_ANNOTATE, cmd_PORTAL, cmd_GET_GAMESTATE, - cmd_TASKS, cmd_MAP_CONTROL_LINE, cmd_MAP_CONTROL_PW) -from plomrogue.tasks import (Task_WAIT, Task_MOVE, Task_WRITE, - Task_FLATTEN_SURROUNDINGS) -import sys + cmd_TASKS, cmd_MAP_CONTROL_LINE, cmd_MAP_CONTROL_PW, + cmd_GOD_ANNOTATE, cmd_GOD_PORTAL, cmd_THING_TYPES, + cmd_THING_NAME, cmd_TERRAINS, cmd_ADMIN_PASSWORD, + cmd_BECOME_ADMIN, cmd_SET_TILE_CONTROL, + cmd_GOD_THING_NAME, cmd_THING_DOOR_CLOSED, + cmd_GOD_THING_PROTECTION, cmd_THING_PROTECTION, + cmd_SET_MAP_CONTROL_PASSWORD, cmd_SPAWN_POINT, + cmd_THING_MUSICPLAYER_SETTINGS, cmd_INTRO_MSG, + cmd_THING_MUSICPLAYER_PLAYLIST_ITEM, cmd_TERRAIN, + cmd_THING_BOTTLE_EMPTY, cmd_PLAYER_FACE, + cmd_GOD_PLAYER_FACE, cmd_GOD_PLAYER_HAT, + cmd_GOD_PLAYERS_HAT_CHARS, + cmd_TERRAIN_TAG, cmd_THING_DOOR_KEY, + cmd_THING_CRATE_ITEM, cmd_MAP_CONTROL_PRESETS, + cmd_THING_SPAWNPOINT_CREATED, cmd_GOD_THING_DESIGN, + cmd_THING_DESIGN, cmd_THING_DESIGN_SIZE, + cmd_GOD_THING_DESIGN_SIZE) +from plomrogue.tasks import (Task_WAIT, Task_MOVE, Task_WRITE, Task_PICK_UP, + Task_DROP, Task_FLATTEN_SURROUNDINGS, Task_DOOR, + Task_INTOXICATE, Task_COMMAND, Task_INSTALL, + Task_WEAR, Task_SPIN, Task_DANCE) +from plomrogue.things import (Thing_Player, Thing_Item, Thing_ItemSpawner, + Thing_SpawnPoint, Thing_SpawnPointSpawner, + Thing_Door, Thing_DoorSpawner, Thing_Bottle, + Thing_BottleSpawner, Thing_BottleDeposit, + Thing_MusicPlayer, Thing_Hat, Thing_HatRemixer, + Thing_Cookie, Thing_CookieSpawner, Thing_Psychedelic, + Thing_PsychedelicSpawner, Thing_DoorKey, + Thing_Crate, Thing_CrateSpawner, Thing_Stimulant, + Thing_StimulantSpawner, Thing_Sign, + Thing_SignSpawner, Thing_Chair, Thing_ChairSpawner) -if len(sys.argv) != 2: - print('wrong number of arguments, expected one (save file)') - exit(1) -savefile = sys.argv[1] -game = Game(savefile) +from plomrogue.config import config +game = Game(config['savefile']) game.register_command(cmd_PING) +game.register_command(cmd_ALL) game.register_command(cmd_LOGIN) game.register_command(cmd_NICK) -game.register_command(cmd_QUERY) game.register_command(cmd_TURN) game.register_command(cmd_MAP) +game.register_command(cmd_TERRAIN) +game.register_command(cmd_TERRAIN_TAG) game.register_command(cmd_MAP_LINE) game.register_command(cmd_MAP_CONTROL_LINE) game.register_command(cmd_MAP_CONTROL_PW) -game.register_command(cmd_GET_ANNOTATION) game.register_command(cmd_ANNOTATE) game.register_command(cmd_PORTAL) +game.register_command(cmd_GOD_ANNOTATE) +game.register_command(cmd_GOD_PORTAL) game.register_command(cmd_GET_GAMESTATE) game.register_command(cmd_TASKS) +game.register_command(cmd_THING_TYPES) +game.register_command(cmd_TERRAINS) +game.register_command(cmd_THING) +game.register_command(cmd_THING_PROTECTION) +game.register_command(cmd_GOD_THING_PROTECTION) +game.register_command(cmd_THING_NAME) +game.register_command(cmd_THING_DOOR_CLOSED) +game.register_command(cmd_THING_INSTALLED) +game.register_command(cmd_GOD_THING_NAME) +game.register_command(cmd_ADMIN_PASSWORD) +game.register_command(cmd_SET_TILE_CONTROL) +game.register_command(cmd_SET_MAP_CONTROL_PASSWORD) +game.register_command(cmd_BECOME_ADMIN) +game.register_command(cmd_SPAWN_POINT) +game.register_command(cmd_THING_MUSICPLAYER_SETTINGS) +game.register_command(cmd_THING_MUSICPLAYER_PLAYLIST_ITEM) +game.register_command(cmd_THING_BOTTLE_EMPTY) +game.register_command(cmd_PLAYER_FACE) +game.register_command(cmd_GOD_PLAYER_FACE) +game.register_command(cmd_GOD_PLAYER_HAT) +game.register_command(cmd_GOD_PLAYERS_HAT_CHARS) +game.register_command(cmd_THING_DOOR_KEY) +game.register_command(cmd_THING_CRATE_ITEM) +game.register_command(cmd_THING_DESIGN) +game.register_command(cmd_THING_DESIGN_SIZE) +game.register_command(cmd_GOD_THING_DESIGN) +game.register_command(cmd_GOD_THING_DESIGN_SIZE) +game.register_command(cmd_MAP_CONTROL_PRESETS) +game.register_command(cmd_THING_SPAWNPOINT_CREATED) +game.register_command(cmd_INTRO_MSG) game.register_task(Task_WAIT) game.register_task(Task_MOVE) game.register_task(Task_WRITE) game.register_task(Task_FLATTEN_SURROUNDINGS) +game.register_task(Task_PICK_UP) +game.register_task(Task_DROP) +game.register_task(Task_DOOR) +game.register_task(Task_INTOXICATE) +game.register_task(Task_COMMAND) +game.register_task(Task_INSTALL) +game.register_task(Task_WEAR) +game.register_task(Task_SPIN) +game.register_task(Task_DANCE) +game.register_thing_type(Thing_Player) +game.register_thing_type(Thing_Item) +game.register_thing_type(Thing_ItemSpawner) +game.register_thing_type(Thing_SpawnPoint) +game.register_thing_type(Thing_SpawnPointSpawner) +game.register_thing_type(Thing_Door) +game.register_thing_type(Thing_DoorKey) +game.register_thing_type(Thing_DoorSpawner) +game.register_thing_type(Thing_Bottle) +game.register_thing_type(Thing_BottleSpawner) +game.register_thing_type(Thing_BottleDeposit) +game.register_thing_type(Thing_MusicPlayer) +game.register_thing_type(Thing_Hat) +game.register_thing_type(Thing_HatRemixer) +game.register_thing_type(Thing_Cookie) +game.register_thing_type(Thing_CookieSpawner) +game.register_thing_type(Thing_Psychedelic) +game.register_thing_type(Thing_PsychedelicSpawner) +game.register_thing_type(Thing_Crate) +game.register_thing_type(Thing_CrateSpawner) +game.register_thing_type(Thing_Stimulant) +game.register_thing_type(Thing_StimulantSpawner) +game.register_thing_type(Thing_Sign) +game.register_thing_type(Thing_SignSpawner) +game.register_thing_type(Thing_Chair) +game.register_thing_type(Thing_ChairSpawner) game.read_savefile() game.io.start_loop() -game.io.start_server(8000, PlomWebSocketServer) -game.io.start_server(5000, PlomTCPServer) +for port in config['servers']: + game.io.start_server(port, config['servers'][port], + config['certfile'], config['keyfile'])