No description
- mod: add a couple of commands for emitting chunks - mod: decrease on_tick event rate - mod: version bump typed-factorio, tstl - kafka admin: decrease replication - kafka admin: filter out existing-topics when creating - events server: add more serdes, hopefully more performant than json - events server: lots of work trying to improve performance... - events server: increase tile size to 256 - events server: fix web-map-tile-image x/y location - kafka: version bump - kafka: increase default partition size - kafka ui: version bump - |
||
|---|---|---|
| buildSrc | ||
| docs/notes | ||
| gradle | ||
| modules | ||
| .gitignore | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| README.md | ||
| settings.gradle.kts | ||
- output events from Factorio into Kafka.
- Factorio mod listens to events.
- For each event, it emits a file.
- A Kafka Connector consumes each file.
- Factorio Web Map reads data from Kafka
- converts data to images
- hosts a web map
License
While this project is under development, no license is provided.
cmds
./bin/kafka-streams-application-reset.sh --application-id kafkatorio-events-processor --input-topics factorio-server-log
todo
- add settings
- is active - whether files are exported or not
- delete files - clean up all files
- tick-rate - how often reports are generated
- requires on some sort of in-mod cache of map<entity-id, event>
- also divide by game-speed? to keep ratio the same
to investigate:
-
https://square.github.io/okio/#communicate-on-a-socket-javakotlin
-
https://opensource.expediagroup.com/graphql-kotlin/docs/server/spring-server/spring-subscriptions
wasm
kt -> wasm -> lua? kt-flatbuffers -> wasm -> lua?
https://www.npmjs.com/package/wasm2lua?activeTab=readme
Encodings
-
flatbuffers https://github.com/dvidelabs/flatcc
-
z85 encoding
-
CBOR
-
BSON