|
|
||
|---|---|---|
| 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
:screen-fps=60.000000 :live-caching=300 :screen-width=1920 :screen-height=1080 :screen-top=100 :screen-left:20
:screen-fps=60.000000 :live-caching=300 --screen-width=1920 --screen-height=1080 :sout=#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:file{dst=D:\\savedir.mp4} :sout-keep
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
-
bebop https://rainway.com/blog/2020/12/09/bebop-an-efficient-schema-based-binary-serialization-format/