Commit Graph

238 Commits

Author SHA1 Message Date
caitsith2 7a3511e1ef Update messages that get sent to client with aliases. 2020-04-27 23:49:46 -07:00
Fabian Dill 00da5dfd65 warn older client versions that features are missing 2020-04-28 05:59:03 +02:00
CaitSith2 495254addf
Actually check if client goal is achieved, instead of just existence of an entry. (#77) 2020-04-27 15:13:33 +02:00
Fabian Dill ad66909669 implement server side /alias, also prevent aliases with trailing whitespace 2020-04-27 03:47:12 +02:00
Fabian Dill 00ba3c71c9 fix server not sending aliased names on connect 2020-04-25 23:16:16 +02:00
Fabian Dill 77ca61d069 introduce forfeit_mode and remaining_mode, as well as server state for client has beaten the game
more info in host.yaml
2020-04-25 15:11:58 +02:00
caitsith2 49385ede3d Change win text 2020-04-24 21:42:13 -07:00
caitsith2 b3c7789596 Changes
* Game end detection - Detect if the player finished their game, and announce it accordingly.
* Add a client side /slow_mode option. (allows to delay receiving items when a massive amount of them come in, like from a forfeit.)
2020-04-24 20:07:28 -07:00
Fabian Dill 5d33b4b164 introduce persistent data storage, which for now just caches rom -> server pairs 2020-04-24 05:29:02 +02:00
Fabian Dill 7582767401 aliases 2020-04-23 06:16:54 +02:00
Fabian Dill 9842399d8b fix payment for already found hints 2020-04-22 15:50:14 +02:00
Fabian Dill fa2cf20b01 !hint now points out all hints relating to the player issuing the command.
payed hints also retain that they were already found and don't need to be re-checked as items can't be unfound.
2020-04-22 05:09:46 +02:00
Fabian Dill afc379f92e make get_intended_text handle 1 out of 1 pools correctly. 2020-04-21 21:53:20 +02:00
Fabian Dill 9291a0dbca make sure countdown is started in base10 2020-04-21 21:46:16 +02:00
Fabian Dill 8ea342abe5 Add result flag to commands 2020-04-21 06:26:51 +02:00
Fabian Dill 356ff91cfd make players command only output to the player requesting if there's 10 or more players 2020-04-20 23:03:52 +02:00
Fabian Dill 905714adfe improve license command with cache and local path 2020-04-20 21:15:13 +02:00
Fabian Dill 860faf6ef5 unify versions 2020-04-20 14:50:49 +02:00
Fabian Dill 5a57519c32 Add count to missing command
Add a server's missing command
Fix password wasn't able to remove a set password
2020-04-20 11:47:50 +02:00
Fabian Dill ecc2b03aed keep track of last item checked time for clients 2020-04-20 04:36:56 +02:00
Fabian Dill a4225d29e5 document Command Processor __call__ tree 2020-04-19 15:32:27 +02:00
Fabian Dill 60707f5196 fix methods with raw_text and optional argument 2020-04-19 15:31:15 +02:00
Fabian Dill 98a8af560a rename get_connected_players_string 2020-04-19 14:51:48 +02:00
Fabian Dill 3840832f05 disconnect on send failure 2020-04-19 14:05:58 +02:00
Fabian Dill 24fce94766 Don't ignore disconnects when they happen during data transfer, instead properly disconnect the client 2020-04-19 13:16:12 +02:00
Fabian Dill 659bc0e177 no longer eat multiple spaces in commands 2020-04-19 03:24:27 +02:00
Fabian Dill 4f52a8db4c player names should not contain spaces, but in case they do, this makes single-spaces work 2020-04-19 00:14:43 +02:00
Fabian Dill 8599c76647 Disallow spaces in generated names 2020-04-18 21:46:57 +02:00
Fabian Dill ea53fff43e allow kicking of players with spaces in name (permanent solution later) 2020-04-18 21:42:21 +02:00
Fabian Dill a36d887122 add ability to disable forfeits 2020-04-16 15:40:31 +02:00
Fabian Dill 07da1c510b re-allow spaces in passwords 2020-04-15 10:31:58 +02:00
Fabian Dill ec528b916b mark optional fields in brackets 2020-04-15 10:29:54 +02:00
Fabian Dill d9e4bd1ab0 bumb network version for new command processing 2020-04-15 08:49:30 +02:00
Fabian Dill e47b4d37ec fix item name args handling 2020-04-15 05:01:17 +02:00
Fabian Dill 3b719220f8 move client stuff to new command processor 2020-04-14 20:26:22 +02:00
Fabian Dill af78914d22 mvoe client stuff to new command processor 2020-04-14 20:22:42 +02:00
Fabian Dill 8b8e279015 server command processor
some commands were renamed at this opportunity
2020-04-13 11:26:50 +02:00
CaitSith2 959917bb13
Print host instead of ip address if host is specified. Also embed specified host into bmbp files. (#57) 2020-04-02 19:40:38 +02:00
Fabian Dill 8b02103b93 encode port into patch, also reverse defaulting order for server;
cmd args overwrite yaml now
2020-04-02 11:21:33 +02:00
CaitSith2 7b620e94f7
Add a way to show found items on client/server (#52)
* Add a way to show found items on client/server

* item show stuff:
use less ram and cpu, rename a few things

* Add UpdateTags server command.

Co-authored-by: Fabian Dill <fabian.dill@web.de>
2020-03-23 10:47:07 +01:00
Fabian Dill 963895e7d4 move server to new options function 2020-03-22 21:25:22 +01:00
Fabian Dill 1c7fa25031 move argument parsing to its own function 2020-03-22 21:23:39 +01:00
Fabian Dill 2a05b9cd72 move to promp_toolkit 2020-03-13 03:53:20 +01:00
Fabian Dill 2c8d4e550c restruct countdown command 2020-03-11 23:08:16 +01:00
Fabian Dill d220cc9cc9 make port forwarding non-default, as it makes more problems than it solves, apparently 2020-03-11 09:16:07 +01:00
Fabian Dill 8f37715541 show which players are missing, which is usually the important bit 2020-03-11 09:15:39 +01:00
Fabian Dill a29f93045e performance improvements and small adjustments 2020-03-10 00:38:29 +01:00
Chris Wilson 74c7eca301
Prevent crash when running MultiServer.py if host.yaml is not present (#46) 2020-03-08 05:43:15 +01:00
Fabian Dill 611f4d3fb2 no longer try patching if it's the wrong rom.
People ignore the warning.
2020-03-08 02:18:55 +01:00
Fabian Dill 25864314d1 my ' was eaten 2020-03-07 17:38:49 +01:00
Fabian Dill 1d84b126f6 use async await to close websocket server 2020-03-07 17:24:51 +01:00
Fabian Dill b7814ca050 remove deprecated code 2020-03-07 17:08:50 +01:00
Fabian Dill b8e8e3904a add automatic port forwarding 2020-03-07 16:22:04 +01:00
Fabian Dill d44acfdaaf implement binary patching for multimystery (for now no gui/cli support) 2020-03-06 00:48:23 +01:00
Fabian Dill 9b82f220bb improve some random things 2020-03-05 02:31:26 +01:00
Fabian Dill 857c318108 bump protocol version number in case I want to disallow old (in this case aka locally cheating) clients. 2020-02-22 19:45:55 +01:00
Fabian Dill 1fb7ed30eb move cheating to server, with option to turn it off
also, don't overwrite multisave if the resulting object is borked
2020-02-22 19:42:44 +01:00
Fabian Dill 5c6815c1f6 some pep8 2020-02-22 18:09:25 +01:00
Fabian Dill 09fba10a53 some QOL 2020-02-22 18:04:35 +01:00
Fabian Dill 0220575c50 Meta-Mystery 2020-02-18 09:14:31 +01:00
Fabian Dill 81e83ae65d implement fuzzy text matching 2020-02-17 13:57:48 +01:00
Fabian Dill e2ef84d6c9 add location checks to hint command 2020-02-17 08:16:17 +01:00
Fabian Dill 5c34119293 bugfixes for hints 2020-02-17 05:34:02 +01:00
Fabian Dill 18911a1490 use same version format on client and server 2020-02-16 16:20:00 +01:00
Fabian Dill a990249762 explain tags a bit to other developers 2020-02-16 15:35:01 +01:00
Fabian Dill b04db006e0 implement server-client handshake and move hint system to optional colorama support 2020-02-16 15:32:40 +01:00
Fabian Dill 278d510551 reshuffle hint system. You can always re-ask where something was for free. You can't go into debt now. 2020-02-16 04:06:16 +01:00
Fabian Dill 81051aebba mind your brackets 2020-02-11 03:53:23 +01:00
Fabian Dill 696fe0d0e4 try to squeeze !hint feedback on one line 2020-02-11 00:54:48 +01:00
Fabian Dill 416a6e7e50 add already found awareness to hint command 2020-02-11 00:44:28 +01:00
Fabian Dill f3324644a3 register all checks, not just network checks for hint points 2020-02-09 12:10:12 +01:00
Fabian Dill 14e24037a5 împlement optional hint system (defaults to off) 2020-02-09 05:28:48 +01:00
Fabian Dill e9b1ac8193 try to find IP, then loudly fail and continue 2020-02-07 23:45:54 +01:00
Fabian Dill 94759fd1c4 improve forfeitplayer 2020-01-24 00:12:23 +01:00
Fabian Dill b58558eb75 move updater to own module 2020-01-18 15:45:52 +01:00
Fabian Dill 72c33a2348 Merge branch 'pull/5'
# Conflicts:
#	MultiClient.py
#	MultiServer.py
#	Mystery.py
2020-01-18 14:41:11 +01:00
Bonta-kun 7f800de8d0 MultiServer/Client: use logging instead of print and log time on the server 2020-01-18 12:21:57 +01:00
Bonta-kun b36c981eb4 MultiServer: dont notify the team when a player sends himself an item 2020-01-18 11:26:45 +01:00
Bonta-kun f988f7671b --remote_items toggle: items will no longer be stored in the rom, a connection to a multiworld server will be required to receive them 2020-01-18 09:50:12 +01:00
Fabian Dill bef1c0fe5f
Merge pull request #3 from Bonta0/multiworld_31
MultiClient: fix roominfo sort
2020-01-15 03:45:38 +01:00
Bonta-kun 2d26d63cce MultiClient: fix roominfo sort 2020-01-15 03:00:30 +01:00
Fabian Dill 11823e43dd Make hints team aware and bring it more in-line with existing commands 2020-01-15 00:57:38 +01:00
Fabian Dill 5d217511fe merge HintedMultiServer into MultiServer 2020-01-15 00:34:12 +01:00
Bonta-kun ad278f91d6 Multiworld: clients will now be automatically be identified from the rom name and have their names and teams set by the host, meaning those need to be configured during seed gen
Player names will show up in spoiler log and hint tiles instead of player id
MultiClient: autoreconnect to mw server
2020-01-14 10:42:27 +01:00
Bonta-kun 7631bf3041 MultiServer: added a !countdown chat command for convenience 2020-01-10 22:44:07 +01:00
Bonta-kun a3657c02aa Multidata/save: moved away from pickle and store a compressed json instead 2020-01-05 20:22:29 +01:00
Bonta-kun 04f5f2fa84 Multi client/server: log fewer exceptions 2019-12-16 18:39:00 +01:00
Bonta-kun 55a30aa91f multiworld 2019-12-09 19:27:56 +01:00