therednatar / mi-intento-final-de-travian Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://www.therednatar.com
License: GNU General Public License v3.0
Home Page: https://www.therednatar.com
License: GNU General Public License v3.0
Travian create the snapshot after midnight but using the midnight server's time, not a standar one.
We are currently fetching the snapshot assuming a unique offset, which is not correct and can affect the model, and also we are in risk of fetching some snapshot with a huge delay and therefore not useful prediction.
eg: fetching snapshot at 01:00 UTC+0 of a server with UTC-3 will be 22:00 local time, and this info will be outdated at midnight with the new snapshot created by Travian
In The Red Natar, we are using urls as server identifier because Travian doesn't provide them.
Recently, we have discovered that Travian is reusing this urls for new servers, after thinking about it, it's obvious. So we have been mixing servers under the same url.
For fixing that, we have develop the archive system #17 and we have hardcoded a value of 7 days to consider a server finished.
The purpose of this task is to evaluate if this value is enough or we need to lower it. A confirmation by a Travian member via Discord should be enough.
Too much data that I will probably never use
Create an agg_players.c6bert table to store an player's historical data in an incremental way
Define a schema
Set up the test
Write the code
Test scenarios
Create the first agg_players.c6bert
Create the second agg_players.c6bert
Create a n agg_players.c6bert
Travian reuse urls from previous servers. Our storage system was design with that idea that this urls were unique.
We need to define a method for closing the servers, moving them to another folder and rename them(incremental rename) for not erasing previous data.
I propose to close it after 7 seven days without a new fresh map.sql
It is doing a distinct operation over the whole list of players, very taxing.
Maybe implement a Satellite.ServersTable
which is autofilled?
Maybe autofilled first with during medusa process and after with incremental server
Collector.GenWorker.Metadata
is a GenServer
which relies on :travianmap.get_info()
for getting server metadata(speed, starting date, ...).
As this is higlely ineficient and very prone to error due to the inestability of web scraping, the metadata is going to be processed in the agg_server
flow instead of using :travianmap.get_info()
.
This issue is for deactivating/removing the code related to the old metadata flow, some relevant files are:
Collector
Collector.GenCollector
Collector.GenWorker.Metadata
Collector.ServerMetadata
Collector.Supervisor.Metadata
Document the api with apidocs, easy and was working before
Use GenStage
or something similar for limiting the number of active process collecting data from the servers
API for TRN
We can process the current tables(to decide which ones) in Imperatoris and push it to Legati via mnesia dets
TTypes.grid_position
is not well named, indeed, it is misleading as it is the identifier of the poisition(I think). So, propose a new name an modify it everywhere.
Posible names:
Collector.AggServer
is the flow for metrics related to the server, number of new players, number of population, etc
Ask in the Elixir forum
Sort the numeric columns in Medusa's table doesn't work properly.
We need to take a look at https://github.com/fiduswriter/simple-datatables in order to fix it
Create a function under Storage
for listing all the servers under the root folder.
Consider to use TTypes.server_id_from_path
to return server_id
s
This function will be used for doing data reloads
Instead of generating medusa table rows in the html, do it in a json script and then call simple tables, maybe it has better performance
I am lazy to do it now :), this is just a reminder
We need a landing page for the project
After updating to phoenix 1.7.10, some css has been broken
A 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.