{"id":16909314,"url":"https://github.com/itrooz/appliedoverinternet","last_synced_at":"2025-04-11T11:31:17.730Z","repository":{"id":230929159,"uuid":"778322146","full_name":"iTrooz/AppliedOverInternet","owner":"iTrooz","description":"Applied energistics 2 viewer on a website","archived":false,"fork":false,"pushed_at":"2024-06-01T00:06:42.000Z","size":2056,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T13:21:12.624Z","etag":null,"topics":["ae2","applied-energistics","appliedenergistics","minecraft"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iTrooz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-27T14:03:09.000Z","updated_at":"2024-10-08T14:41:27.000Z","dependencies_parsed_at":"2024-04-20T01:43:25.248Z","dependency_job_id":"b3d146d6-c19c-4867-a13b-cf9ea8ccef82","html_url":"https://github.com/iTrooz/AppliedOverInternet","commit_stats":null,"previous_names":["itrooz/appliedoverinternet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iTrooz%2FAppliedOverInternet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iTrooz%2FAppliedOverInternet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iTrooz%2FAppliedOverInternet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iTrooz%2FAppliedOverInternet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iTrooz","download_url":"https://codeload.github.com/iTrooz/AppliedOverInternet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248383921,"owners_count":21094633,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ae2","applied-energistics","appliedenergistics","minecraft"],"created_at":"2024-10-13T18:55:19.362Z","updated_at":"2025-04-11T11:31:17.132Z","avatar_url":"https://github.com/iTrooz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Applied Over Internet\n\n![](images/website.png)\n![](images/stats.png)\n\nThe goal of this project is to be able to see the contents of an Applied Energistics 2 (Minecraft mod) inventory through a website.\n\n# Installation instructions\n\n## Prerequisites\n- Minecraft Server that you can access (you will need to modify configs)\n- CC:Tweaked mod (ComputerCraft)\n- Advanced Peripherical mod\n- already usable AE2 setup\n- Actual server to run the python webserver on (Preferably the server hosting the Minecraft server itself)\n- Being able to mess around with stuff, because this tutorial isn't fool-proof\n\n## Setup\n\n### Retrieve the textures\n- Install the mod https://github.com/CyclopsMC/IconExporter (https://www.curseforge.com/minecraft/mc-mods/iconexporter) and run the command `/iconexporter export` (in singleplayer, not on a physical server) to export the icons\n- Find the output folder in your .minecraft directory, move it to the root of this cloned repository and rename it `input`\n- Run the `reorder.py \u003cpath_to_your_minecraft_folder\u003e` script, which will organise the textures in the `textures` folder.\n- Move that `textures` folder to the server (hint: compress it for faster transfer)\n\n### Setup the webserver\n- Create the .env file (see .env.example template) and modify the passwords\n- Setup the python webserver\n  - (Easiest + Stats support) Either run `docker compose --profile app up`\n  - (Hardest + No stats support) Or run the `server.py` script (as a background program, with say `tmux` or `screen`) with `gunicorn -b 0.0.0.0:5000 server:app` (Don't use the flask default development server, for me it caused memory leaks due to creating a thread per request for some reason)\n- (Optional) if you have an already existing nginx server (and/or want to go through to enable SSL), [here's a virtual host template](nginx_template.conf). And then do your stuff with Certbot\n\n### Setup the Minecraft server\n- Modify the server CC:Tweaked configuration file to enable the HTTP API and restart your server\n  - the config can be found at `{world}/serverconfig/computercraft-server.toml`, set `enabled` to `true` in the `http` section\n  - if you are going to run the python webserver on your local machine/network, you also need to remove the rule that disables access to private IPs later in the file. It is the one with `host = \"$private\"`. [Click here for more info](https://tweaked.cc/guide/local_ips.html#cc-1.87.0)\n\n### In Minecraft\n![](images/ingame.png)\n*screenshot from the modpack ATM9*\n\n- Place your computer and your [ME bridge](https://advancedperipherals.madefor.cc/peripherals/me_bridge/) next to the AE2 network (the ME bridge must be connected to the AE2 network)\n- Import [the following script](./send_request.lua) in the computer as the startup.lua script (either put it through `{world}/computercraft/computer/{id}` or upload it on pastebin)\n\n# Requests graph\n```mermaid\nflowchart TD\n    subgraph Server\n        webserver[Python webserver]\n        db[InfluxDB]\n        subgraph Minecraft\n            AE\n            CC[CC:Tweaked script]\n            CC --\u003e|Requests data| AE\n        end\n        CC --\u003e|Sends data| webserver\n        webserver --\u003e|Sends data| db\n\n        grafana[Grafana]\n        grafana --\u003e|Requests data| db\n    end\n    user[User]\n    user --\u003e|Requests inventory HTML| webserver\n    user --\u003e|Requests stats HTML| grafana \n```\nLegend: Arrows going from A to B (A-\u003eB) means that A **sends a request** to B. It sends nothing about which way the data transits, it could go from A to B or B to A\n\n# Why ?\nBecause","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitrooz%2Fappliedoverinternet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitrooz%2Fappliedoverinternet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitrooz%2Fappliedoverinternet/lists"}