sirwerto / mi-intento-final-de-travian Goto Github PK
View Code? Open in Web Editor NEWMy third and final attempt to build a whole systems what collects, predicts and show the future inactives players in Travian
My third and final attempt to build a whole systems what collects, predicts and show the future inactives players in Travian
After processing the map.sql
in the Collector
, perform an aggregation per player with all the possible features that we can create.
players_snapshot.c6bert
Create the style of the web page
Define 2 new functions and its types documentation
@spec encode_tribe(tribe_atom :: tribe()) :: tribe_integer()
@spec decode_tribe(tribe_int :: tribe_integer()) :: tribe()
@spec server_id_to_path(server_id :: server_id()) :: server_id_path()
@spec server_id_from_path(server_id_path :: server_id_path()) :: server_id()
Monitor the GenWorkers and relaunch it if they fail.
During the creation of the Collector.SnapshotRow
a village_id
, player_id
and alliance_id
are created based on the respective village_server_id
, player_server_id
and alliance_server_id
.
The idea is to keep thoose fields too in the SnapshotRow
for not having to comput back the values and becuase we don't know how this values are going to be computed in the future.
Create a list of servers which are buttons to a page that will show the predictions
Create the url for the player profile and the alliance profile while creating the medusa_row in Medusa app here
Player profile template
https://ts1.x1.europe.travian.com/profile/3035
{server_url}/profile/{player_server_id}
Alliance profile
https://ts1.x1.europe.travian.com/alliance/65
{server_url}/alliance/{alliance_server_id}
Add 3 new fields to MedusaTable
State
inactive
, active
, become inactive
and become active
Population increase
Village increase
Agrega mas info al readme. Ando buscando un serv de travian pra autohospedar
There are some test architecture test that need some refinement.
put it on hold for including the mix test
in the CI
Create 2 docker files for the Imperatoris and Legati releases
Make the Travian types from TTypes
@opaque
and ensure that the dialyzer runs properly
The aim of this change is to ensure we are not leaking types(bugs) somewhere
The queries over medusa table are fetching every entry but it should only get the up to date ones. They only have to fetch entries with a modified date of today :)
Store the raw map.sql file as it is.
It should be done in the Collector app just before processing it with {"raw_snapshot", ".c6ber"}
as store options.
It should be compressed binary format similar to the current snapshot
Clean the non updated entries of Satellite.MedusaTable
while the collection is started.
Maybe a GenServer
implementation that listen to the event and triggers the cleaning of non updated entries.
We don't want to send/display 3000 players while showing the predictions.
Let's do a pagination system!!
The collected raw file is not being stored but can be helpfull for doing recoveries in case something goes wrong.
It should be added in the collector snapshot phase Collector.GenWorker.Snapshot
as raw_snapshot.c6bert
Maybe in the future, Travian will delight us with files that we will need to fetch only once from the server.
For example, the terrain of the map or the metadata of the server
It would be helpful to have in Storage.open
and Storage.store
the option to target a unique file instead of a date
We need to be sure that the Legati table is updated properly after recovery from a network partition.
The table we need to trust after a network partition is always the one in Imperatoris
https://www.erlang.org/doc/man/mnesia.html#set_master_nodes-2
I am moving the medusa python part to this repository and I am applying some changes that needs to be modified in Medusa.Step2 and Medusa.Port part.
Mainly, the new output of the port will be
{model_used, player_id, is_inactive?, inactive_probability(between 0 and 1)}
The medusa.py part is going to changed too.
TODO
Satellite.MedusaTable
struct with a new inactive_probability
fieldMedusa.ETL.enrich_map
functionA declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.