Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/treeplate/isd_treeclient


https://github.com/treeplate/isd_treeclient

Last synced: 16 days ago
JSON representation

Awesome Lists containing this project

README

        

# isd_treeclient
This app is a client for [ISD](https://interstellar-dynasties.space).
## Server-Client Protocol
See [the official protocol](https://software.hixie.ch/fun/isd/test-2024/servers/src/README.md), as well as the official [system](https://software.hixie.ch/fun/isd/test-2024/servers/src/systems-server/README.md), [dynasty](https://software.hixie.ch/fun/isd/test-2024/servers/src/dynasties-server/README.md), and [login](https://software.hixie.ch/fun/isd/test-2024/servers/src/login-server/README.md) sub-protocols.
## Cookie Storage
This app saves its state between runs. When using package:web, it uses local storage, but when using dart:io, it has to save it to a file. This file is called "cookies.save", and uses its own format, described here.

### Map => .save file
Each entry in the map is separated by a newline followed by a null byte. The entries themselves are encoded as key, colon, null, value.
### .save file => Map
Split the raw file data on newline-null, making a list of raw entries, and then split each entry on colon-null, making a list [key, value]. Now you have a List>, and can map each List to a MapEntry, and then use Map.fromEntries to complete the decoding.
## Tools
https://github.com/treeplate/isd_starnames is a tool for finding stars with specific names.