3166 Commits
Author SHA1 Message Date
phidias 5737f4555a Merge branch 'explosivegaming:main' into dev 2026-11-10 00:13:14 +09:00
phidias 7689af7b4f enemy locale (#522) 2026-11-09 09:23:12 +00:00
phidias 26512eeb06 tick instead of second (#521) 2026-11-09 09:22:27 +00:00
phidias e21abf0f16 Merge branch 'explosivegaming:main' into dev 2026-11-08 00:22:14 +09:00
phidias ce29218f14 Research Milestone (#517)
* new research milestone

* energy

* revert

* minute

* moving

* config
2026-11-07 15:19:42 +00:00
phidias 637e47bf8c Quick Action Locale (#518)
* quick action locale

* remove marking

* new ln
2026-11-07 15:18:47 +00:00
BastiaanandClaude Opus 5.5 2cca280e30 Use controller.hosts.records for the host datastore (#520)
clusterio #1180 made controller.hosts a HostManager. The datastore with
set and the update event now lives on controller.hosts.records.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 14:29:58 +00:00
phidias fd5b0ab277 Merge branch 'main' into dev 2026-11-05 01:09:51 +09:00
phidias d59e246278 fullscreen mode (#519) 2026-11-04 15:58:43 +00:00
phidias bb4f1e41d7 prefix 2026-11-04 18:05:18 +09:00
phidias 9fdc3b3ac9 factorial 2026-11-04 17:25:40 +09:00
phidias d025f235b5 info 2026-11-04 15:26:32 +09:00
phidias c81797ff4b Merge branch 'main' into dev 2026-11-04 15:12:08 +09:00
phidias 222e42630f Merge pull request #516 from PHIDIAS0303/translate
chore(l10n): update translations
2026-11-03 16:15:40 +00:00
phidias 76e2665181 typo 2026-11-03 20:23:28 +09:00
phidias e12c3b50dc revert 2026-11-03 20:13:49 +09:00
phidias 8e1ccccf11 style 2026-11-03 20:13:01 +09:00
phidias 705086d582 name 2026-11-03 20:11:42 +09:00
phidias be97b590a2 400 2026-11-03 20:10:14 +09:00
phidias affb28fc42 name 2026-11-03 20:09:28 +09:00
phidias 25ea203b04 name 2026-11-03 20:01:47 +09:00
phidias 16fb75fc5c err 2026-11-03 20:00:11 +09:00
phidias db9e54fb25 remove style 2026-11-03 19:49:50 +09:00
phidias c34a7512a0 center 2026-11-03 19:42:17 +09:00
phidias 36624a8b7c name 2026-11-03 19:40:06 +09:00
phidias 466642d3da lint 2026-11-03 19:34:49 +09:00
phidias 311d3a35d8 undo 2026-11-03 19:18:28 +09:00
phidias efff202b91 format 2026-11-03 19:14:16 +09:00
phidias 87a950ac7e elem 2026-11-03 19:07:41 +09:00
phidias 51f65e6559 func 2026-11-03 14:22:41 +09:00
phidias e6d5ee8a4b naming 2026-11-03 14:15:01 +09:00
phidias 2f28ae8241 perm 2026-11-03 14:13:26 +09:00
phidias c64a6201d9 transfer 2026-11-03 14:09:56 +09:00
Cooldude2606 48f86959d9 Fix display of playtime and join count in stats table 2026-10-29 00:28:35 +00:00
Cooldude2606 be68248fe7 Merge pull request #514 from bbassie/fix/clusterio-master-compat
Update for clusterio master (Vite, error classes, async factories)
2026-10-29 00:26:02 +00:00
bbassieandClaude Opus 5.5 fa26bc380e Drop the empty web entrypoints
clusterio#1140 no longer reports plugins without a web entrypoint as
failing to load, so the empty web modules from 99d47cf1 can go. The
browser tsconfig of these plugins now checks index.ts instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 23:58:51 +00:00
bbassieandClaude Opus 5.5 389004d652 Replace RequestError with the HTTP-style error classes
clusterio#999 removed RequestError. Handlers now throw NotFoundError,
ValidationError, ConflictError or UnavailableError, and exp_auto_restart
treats any ClientError from the host as a final refusal.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 23:43:25 +00:00
bbassieandClaude Opus 5.5 afc1d35668 Load datastores with SubscribableDatastore.fromProvider
clusterio#1129 replaced DatastoreProvider.bootstrap with async factories
and Instance now takes its FactorioServer in the constructor, so the
instance tests pass their server stub there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 23:43:25 +00:00
bbassieandClaude Opus 5.5 e84bd97b99 Build plugin web bundles with Vite
clusterio#1130 replaced webpack with Vite and the web interface rejects
webpack-built plugin bundles. Each plugin now builds with clusterioPlugin()
from @clusterio/web_ui/vite.mjs, and the webpack configs and dependencies
are gone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 23:43:25 +00:00
Cooldude2606 c61dcaecb5 Merge pull request #512 from bbassie/feature/reports-watch-list
Add a watch list and read state to exp_reports
2026-10-25 22:12:53 +00:00
BastiaanandClaude Opus 5.5 20ca539af3 Save controller plugin data on the save hook (#513)
exp_groups and exp_roles only saved their datastores on shutdown, and
exp_scenario saved the player store but not the feature store on the
save hook. The controller runs the save hook on its autosave interval,
so a crash or kill lost every change since the controller started.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 21:57:21 +00:00
bbassieandClaude Opus 5.5 38fe2ed62a Address review on the exp_reports watch list
Save both datastores on the save hook so autosave covers them, the
controller also runs it at shutdown. Watch list names are case
insensitive, matching Factorio and Clusterio users. The new
exp_reports.announce_to_all_instances config, on by default, can limit
the join message to the instance the player joined. The Discord embed
lists the three newest unread reports and counts the rest in the footer,
since Discord rejects embeds with more than 25 fields. Both tables now
sort newest first by default.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 19:01:44 +00:00
bbassieandClaude Opus 5.5 44ae3a5f0e Add a watch list and read state to exp_reports
Players on the watch list are announced to every online admin on every
instance when they join, and the join is posted to the Discord and JSON
webhooks. The Reports page has a second table for the watch list with an
Add button and a Delete button per row.

Reports can be marked read or unread from the web interface. Each report
row also has an Add to watch list button which opens the add form filled
in with the player and reason. Setting exp_reports.watch_unread_reports
treats players with unread reports as watched.

Reports now store created_at_ms because marking them read changes
updated_at_ms. Old reports.json files migrate on load with updated_at_ms
as the creation time. The report webhook moved from the datastore update
listener to the create handler so reading a report is not posted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 18:36:22 +00:00
Cooldude2606 82abc2c332 7.0.4 2026-10-17 16:54:48 +01:00
Cooldude2606 99d47cf114 Fix web module not loading 2026-10-17 16:54:13 +01:00
BastiaanandClaude Opus 5.5 472db1e22a Fix unknown sprite on the readme join button (#510)
utility/downloading_white was a 1.1 sprite. Neither 2.0 nor 2.1 has it,
so drawing the readme for a modded server crashed on_player_created.
utility/downloading exists in both, so no version check is needed.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 16:14:40 +01:00
Cooldude2606 54799ef619 Included migrated playtime and join count in stats table 2026-10-17 16:13:17 +01:00
Cooldude2606 383893e0cd Fix build for two plugins 2026-10-17 00:09:44 +01:00
Cooldude2606 f3553dd570 Fix publish issue in some plugins 2026-10-17 00:05:24 +01:00
phidias 584fc10752 Add spaces in formatted time output (#509) 2026-10-16 19:53:29 +01:00