* multiserver: allow `!release` as an alias for `!forfeit`
* create `/release` command. Add some periods to messages that print in console and point users to release
* Add a missing space on line 1135
Co-authored-by: Chris Wilson <chris@legendserver.info>
This updates notify_hints() as follows:
- Sort hints by their 'found' attribute in reverse during the first
iteration, so items not found will show at the bottom.
- Store a tuple of (hint, hint.as_network_message()) in concerns rather
than just the hint so the raw hint data remains available for later
sorting.
- Do the logging.info call as part of this iteration instead of doing
a second iteration pass that does nothing but logging.
- Iterate over concerns (and look up connected clients) rather than
iterating over all clients (and checking for concerns)
* WebHost: Make custom server prefer ipv4 for display
* WebHost: Make server retry saving in case of connection issues
* WebHost: fix autolaunch guardians getting stuck waiting for the oldest two rooms.
Probably not related to the issues of the system itself getting stuck, but should be fixed anyway.
* WebHost: logfile is meant to be guarded by access cookie
* WebHost: set patch target to null if port is not valid, disabling auto-connect
* Tests: add test to check for typo'd item name group definitions
Factorio: item *name* group was pointing to IDs instead.
Server: prevent crash when using Event-filled item name group
* Server: prevent crash when /hint'ing for an item name group with events
GPL -> BSD2Clause and should be faster though I haven't tested it myself and just trusted people on the internet.
Jellyfish also allows us access to many more algorithms should they be any better. Trying out Jaro distance now instead of Levenshtein.
* Add Item cheat permission to generate page.
* Indicate that both remaining_mode and item cheat are disabled in race mode.
* Add server_password
* refine tooltips and help for server_password and !admin command.
* Add Plando options to generation page.
* Remove debugging code
* Style adjustments and HTML formatting and tag fixes with the goal of making the page nicer looking and not as vertical.
Co-authored-by: Chris Wilson <chris@legendserver.info>
`AutoWorld.World`s can set required_server_version and required_client_version properties. Drop `get_required_client_version()`.
`MultiServer` will set an absolute minimum client version based on its capability (protocol level).
`IgnoreVersion` tag is replaced by using `Tracker` or `TextOnly` with empty or null `game`.
Ignoring game will also ignore game's required_client_version (and fall back to server capability).
* MultiServer: try to import tkinter, then provide some feedback
TK may not be installed alongside python on some systems, like minimal linux installations.
* specify tkinter package
Co-authored-by: Hussein Farran <hmfarran@gmail.com>
Co-authored-by: Hussein Farran <hmfarran@gmail.com>
* Tracker tag will receive all items via server (including local)
* TextOnly tag will receive no items
* TextClient sends TextOnly tag
* precollected items / start_inventory does not get an "Order received" number anymore
* local items do always get an "Order received" number now
* multisave changed, includes version number now, upgrade works for games (not trackers)