Darkstat - Online first flstat remake
-
Darkstat is Flstat remake with web first usage, but usable locally too.
tool to navigate game data of Freelancer.Currently supports Vanilla, Discovery and FLSR. If your mod is not too much different from vanilla, it will work for it too.
Features making it different from old flstat:
- Web first as mentioned, but usable locally
- Missions search
- Trade/Ore/Travel routes search.
- Ammo/Shields/Thrusters/Tractors/Engines/Scanners search
- Tech compatibility info for Discovery
- Ship details show exact hp_type of equipment u can use to filter equipment for
- Pinning rows for easier comparison
- Filtering bar for multiple rows matching + search by infocard
- Light, Dark and Vanilla coloring themes
Example working
-
new release for fl-darkstat v1.64.3 - Sharing all the data through API ^_^
- Darkstat shares all data it posses in json format with swagger documentation for the api
- All endpoints where designed to share data in Bulk, as fast as possible, but with some reasonability to pulled data size
- Exposed every entity basically almost as darkstat has tabs for.
- the json API is cross language friendly format, but if you utilize Golang, there is extra option of hooking yourself to RPC way to Pull data in addition (this one has sort of always correct client library avaiable to just import code)
- The json API and RPC are both available through http/https. Plus you can always run darkstat locally, in this case you can get 3 times performance boost to pull data by using Unix Sockets if it is running on Linux! (sun)
Example of API for disco
The API is working only when Darkstat is running in Docker or Static binary way at server.(So not supported for darkstat method of running to compile pages to html/css/js files for deployment to Github pages for example)
-
new release for fl-darkstat v1.69.1 - Sharing through gRPC and json api gateway
I come to your with technology from 2050 year. (yt link)
- Darkstat now offers to share all its data through API 2.0 built on gRPC (with json api gateway fallback). It has benefit of able to autogenerate precise client libraries for many languages, including C#/.Net, C++, Dark, Go, Java, Kotlin, Node, Objective-C, PHP, Python and Ruby. The technology was made mature by large company Google and made specifically to simplify communications between services written in different languages
- This has benefits of… not writing client lib code, i take care of it at proto file stuff. You will be able to keep up with changes through code regeneration and seeing anything that was added or changed or removed through static typing features ^_^ Basically client lib is written by me for your any language through this feature.
- To generate client lib in your language, u need to use get started with gRPC and utilize Darkstat’s Proto file to generate the client. For user friendliness i kept all stuff to a single file, and made things available without TSL and with TSL at the same time
- Find up to date recommendations in README of repository
- Migrated pretty much all the data
- As fallback gRPC all the rpc calls are available over regular json api! automatically syncnorized with stuff available in grpc. grpc-gateway api generator make it automated ^_^ Technically same proto generated data structs can be used to deserialize json incoming data
- Covered with auto testing (sun)
- P.S. regular json API 1.0 remained available too.
- If u will be using darkstat locally, u can access gRPC port at localhost:50051 , alternatively you can access stuff with performance boosts over Unix Domain Socket /tmp/darkstat/grpc.sock if at linux.
- NOTE: By default Grpc goes through grpc endpoint and uses compression of Protocol Buffers. Ability to go Json in API Gateway (for which Swagger documentation is provided) is ONLY FALLBACK for situations when people unable to go gRPC native way. If you will go through gRPC getting started instruction, u will receive automatically for your language client generated to utilize Protocol Buffers
You can check the available of the new technology on two docker deployed backends of darkstat
- Freelancer Discovery, connectable over grpc at darkgrpc.dd84ai.com
- Freelancer Vanilla, connectable over grpc at darkgrpc-vanilla.dd84ai.com
-
I realized fascinating idea… The beauty of gRPC technology in ability to generate precise data structs for serializations/deserializations across languages in a mature way… and it comes embedded with capabilities for json serialization…
…Nothing really stopping generating those data structs, and using them to deserializer/deserializer, send/receive data from JSON api gateway mentioned there. the gateway is fully synchronized to be exactly matching them
So itself gRPC protocol to compress data is not obligatory. This technology breaks barriers between languages even at json level.
Official documentation for gRPC technology is clearly full of examples where it is abused for json usage too.That makes it in theory perfect for communications of backend even with web frontend, where simple jsons are still preferable for the sake of sanity in debugging.
Thus barriers across language communications become completely unchained.