black-sliver
b6e78bd1a3
MultiServer: speed up location commands ( #1926 )
...
* MultiServer: speed up location commands
Adds optimized pure python wrapper around locations dict
Adds optimized cython implementation of the wrapper, saving cpu time and 80% memory use
* Speedups: auto-build on import and build during setup
* Speedups: add requirements
* CI: don't break with build_ext
* Speedups: use C++ compiler for pyximport
* Speedups: cleanup and more validation
* Speedups: add tests for LocationStore
* Setup: delete temp in-place build modules
* Speedups: more tests and safer indices
The change has no security implications, but ensures that entries[IndexEntry.start] is always valid.
* Speedups: add cython3 compatibility
* Speedups: remove unused import
* Speedups: reformat
* Speedup: fix empty set in test
* Speedups: use regular dict in Locations.get_for_player
* CI: run unittests with beta cython
now with 2x nicer names
2023-07-04 19:12:43 +02:00
black-sliver
39c7c7291e
Core: store multidata/multisave enums by value on py3.11 ( #1783 )
...
This is what py3.10 did and should be better for AP than the new default
2023-05-02 08:23:39 +02:00
Fabian Dill
c2a8b842de
Core: typo
2023-03-21 15:53:10 +01:00
Fabian Dill
847582ff5f
Server: fix release_mode ( #1407 )
...
* Server: fix release_mode
* Core: actually rename forfeit to release across the program
2023-01-24 03:36:27 +01:00
Fabian Dill
bdfbc7e14a
Network: allow sending frozenset
2023-01-02 20:23:31 +01:00
Doug Hoskisson
c96b6d7b95
Core: some typing and docs in various parts of the interface ( #1060 )
...
* some typing and docs in various parts of the interface
* fix whitespace in docstring
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* suggested changes from discussion
* remove redundant import
* adjust type for json messages
* for options module detection:
module.lower().endswith("options")
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
2022-09-28 23:54:10 +02:00
Jarno Westhof
dd6e212519
[Core] Colorama fix
2022-08-05 17:17:40 +02:00
black-sliver
03e9034a98
Server: minify cmd json
...
This saves between 7 and 15% where compression is unavailable.
2022-06-20 07:52:21 +02:00
Fabian Dill
6c525e1fe6
Core: move multiple Item properties into a single Flag ( #638 )
2022-06-17 03:23:27 +02:00
Fabian Dill
d81dbbd951
CommonClient: revamp DataPackage handling
2022-06-17 03:22:20 +02:00
Fabian Dill
4165f58414
Clients: now featuring tooltips and some general cleanup ( #564 )
...
* Clients: now featuring tooltips and some general cleanup
* Clients: fade in tooltip over 0.25 seconds
* Clients: reset slot and team when disconnecting
* Clients: allow joining multiworld via link (TextClient only for now)
2022-05-23 15:20:02 -07:00
Fabian Dill
69721d2d04
MultiServer: remove no longer needed value check from Set packet
2022-03-04 22:48:27 +01:00
Fabian Dill
28201a6c38
Core: implement first version of ItemLinks
2022-02-05 15:49:19 +01:00
Fabian Dill
0bd252e7f5
Server: add slot_info key to Connected
2022-01-30 13:57:12 +01:00
Fabian Dill
0800cfccb6
CommonClient: fix color related crashes in --nogui mode
2022-01-25 02:25:20 +01:00
Fabian Dill
31a823bc34
Change remaining flags to 0b notation by popularity vote
2022-01-21 00:42:45 +01:00
Jarno Westhof
5df4d2f2fd
[Docs] Specified NetworkItem player is about the player slot of the location, not who the item is intended for ( #217 )
2022-01-18 19:01:51 +01:00
Fabian Dill
5c1d2b3393
Network: unify flags docs and implementation
2022-01-18 06:45:09 +01:00
Fabian Dill
028207022a
Factorio: support new colors in-game
...
Various: cleanup and comments
2022-01-18 06:16:16 +01:00
Jarno Westhof
c9fa49d40f
[Network_Item] Add item flags to network item so client can distinct some details ( #210 )
2022-01-18 05:52:29 +01:00
Fabian Dill
520e5feefb
Docs: add missed JSONMessagePart types
2021-11-30 06:41:50 +01:00
Fabian Dill
0992087e9a
MultiServer: add not found to !hint response and color found text
...
Clients: text parsing fixes
2021-11-30 06:09:40 +01:00
Fabian Dill
2007549e01
MultiServer: move PrintJSONMessagePart's found to PrintJSON
2021-11-08 19:13:13 +01:00
Fabian Dill
666e3b5333
MultiServer: add JSONMessagePart["player"]
2021-11-07 14:42:05 +01:00
Fabian Dill
6b4bdf569c
MultiServer: coop support
...
Just connect multiple clients to the same slot
2021-10-20 05:56:28 +02:00
Fabian Dill
952a155003
MultiServer: move permissions to an IntEnum
2021-09-26 09:06:12 +02:00
Fabian Dill
23b8070b9d
Options: allow comparing Choices with other Choices
2021-09-04 17:53:09 +02:00
Fabian Dill
f4f043ac87
MultiServer: categorize methods
2021-08-26 16:19:37 +02:00
Fabian Dill
a7bb6f6a95
CommonClient: make entrances blue in console
2021-08-07 05:40:18 +02:00
Fabian Dill
bceb8540a1
assorted fixes
2021-07-20 21:19:53 +02:00
Fabian Dill
60972e026b
send packed NetworkItem in PrintJSON
2021-06-30 20:57:00 +02:00
Fabian Dill
fd9123610b
mimic ItemSend fields of PrintJSON for hints
2021-06-30 20:45:06 +02:00
Fabian Dill
d5cdff5ec9
filter hints to whom they concern
2021-05-13 01:37:50 +02:00
Fabian Dill
ee30914b2c
Send AP text into Factorio worlds
2021-04-13 14:49:32 +02:00
Fabian Dill
6567f14415
add log_network Server argument
2021-04-07 02:37:21 +02:00
Fabian Dill
dc73fa0f33
Factorio integration
2021-04-01 11:40:58 +02:00
Fabian Dill
218fb0298f
Some .Net compatibility
2021-03-19 04:14:59 +01:00
Fabian Dill
a528ed5e9e
Client now uses location_id consistently internally, instead of switching on a dime all the time
...
And some smaller changes
2021-03-07 22:05:07 +01:00
Fabian Dill
0917f21384
revert PrintJSON to use key data, to match with documented behaviour
2021-03-02 22:36:50 +01:00
Fabian Dill
7871555620
Implement PrintJSON
...
Remove deprecated network packets
Make Client send new locations checked only once
Simplify register_location_checks
Rip out Server savegame compatibility
2021-03-02 22:31:44 +01:00
Fabian Dill
07b9fcfefc
minor cleanup
2021-02-28 20:48:30 +01:00
Fabian Dill
1849693353
Make object hook more dynamic; ignoring unknown arguments
2021-02-28 20:32:15 +01:00
Fabian Dill
f15c80953b
Make Linter happy
2021-02-26 21:49:23 +01:00
Fabian Dill
cbbdb2948d
attach command to args dict
2021-02-21 23:46:05 +01:00
Fabian Dill
ff9b24e88e
Hollow Knight integration
...
(prototype status)
2021-02-21 20:17:24 +01:00
Fabian Dill
1da1e4eac6
Sample implemention of JSONtoTextParser
2021-01-31 11:33:39 +01:00
Fabian Dill
c604dfe509
move networks commands to [str, Optional[dict]] across the board
...
and some other updates
PrintHTML is an experiment and is unlikely the solution I'll go with
2021-01-21 23:37:58 +01:00
Fabian Dill
670b8b4b11
Merge branch 'main' into breaking_changes
...
# Conflicts:
# MultiClient.py
# WebUI.py
2021-01-21 05:36:16 +01:00
Fabian Dill
276d49981e
Convert WebUI to logging.Handler subclass
2021-01-19 06:37:35 +01:00
Fabian Dill
4f8c737eec
squashed commit of many breaking changes
...
Dropping Support for Python 3.7; adding support for Python 3.9
2020-10-19 08:26:31 +02:00