{"id":19184796,"url":"https://github.com/akrasio/tshockwebpanel","last_synced_at":"2026-06-11T23:31:10.629Z","repository":{"id":211188168,"uuid":"728428195","full_name":"Akrasio/TShockWebPanel","owner":"Akrasio","description":"A working version of (radishes/tshockweb) for TShock (1.4.4.9 )","archived":false,"fork":false,"pushed_at":"2023-12-07T04:30:38.000Z","size":9921,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-02-23T02:41:44.863Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Akrasio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-12-06T23:21:32.000Z","updated_at":"2024-07-10T15:49:21.000Z","dependencies_parsed_at":"2025-02-23T02:41:19.932Z","dependency_job_id":"6642ee09-b99d-4737-a0ca-517c33d9a4f6","html_url":"https://github.com/Akrasio/TShockWebPanel","commit_stats":null,"previous_names":["akrasio/tshockwebpanel"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Akrasio/TShockWebPanel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akrasio%2FTShockWebPanel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akrasio%2FTShockWebPanel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akrasio%2FTShockWebPanel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akrasio%2FTShockWebPanel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akrasio","download_url":"https://codeload.github.com/Akrasio/TShockWebPanel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akrasio%2FTShockWebPanel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34222709,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-09T11:08:16.782Z","updated_at":"2026-06-11T23:31:10.612Z","avatar_url":"https://github.com/Akrasio.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TSHOCK WEB Panel \n\u003e A Working / Fixed Clone of [radishes/tshockweb](https://github.com/radishes/tshockweb) for terraria server management!\n\u003e *Note: This is a clone of a clone actually, [kinvaris/tshockweb](https://github.com/kinvaris/tshockweb), And I only made it work for newer version of the TShock Server.\n\n## Description\n~~This is the new, improved \u0026 lightweight version of the TSHOCK-WEB~~\n\nThis is a new, improved \u0026 lightweight version of the TSHOCK-WEB And updated version of kinvaris/tshockweb.\n\n## Requirements\n* `Flask`\n* `python-pip`\n* `Python3.7` (MIGHT* work with `python3.11`)\n\n## Easy deployment\n* Edit the following config file: `config/tshockweb.json`\n* The `tshock_web` section contains the `api` and `web` settings\n* The `tshock_server` section contains the settings to the tshock terraria server\n* Execute as: `python tshockweb.py`\n* Visit the following pages to validate the workability: `http://127.0.0.1:4891` \u0026 `http://127.0.0.1:4891/api`\n\n## GUI\n\n* Easily manage your tshockweb with account(s) that have `superadmin` rights\n![](http://i.imgur.com/PiXO1kj.png)\n\n* Easily monitor your tshock terraria server with the dashboard\n![](http://i.imgur.com/tFlLHtU.png)\n![](http://i.imgur.com/k9sayny.png)\n\n* Easily manage your raw tshock commands with an online command tool\n![](http://i.imgur.com/Q1R4Rzx.png)\n\n* Check and manage what online users are doing/carrying on your server\n![](http://i.imgur.com/siUIN5u.png)\n\n## Development\n* Easy python API:\n```\nfrom thw.model.lists.players import PlayerList\nfrom thw.helpers.api import TSHOCKClient\n\napi = TSHOCKClient(ip=\"tshock-api-url\", port=7878, username='superadmin-username', password='superadmin-password')\nprint PlayerList.get_current_players(api=api)\n```\n\n* Easy API: \n```\nimport requests\n\nrequests.get('http://127.0.0.1:4891/api/login', json={\"username\": \"superadmin-username\", \"password\": \"superadmin-password\"}\n{\n  \"result\": {\n    \"token\": \"B542D501E90A62615F257BCCC47996B4597BAF0E06C9BB727785FFB880CA6F9E\"\n  }, \n  \"status\": 200, \n  \"valid\": true\n}\n\nrequests.get('http://127.0.0.1:4891/api/model/lists/players/get_current_players', json={\"token\": \"B542D501E90A62615F257BCCC47996B4597BAF0E06C9BB727785FFB880CA6F9E\"})\n{\n  \"result\": {\n    \"api_path\": \"model/lists/players\", \n    \"method\": \"get_current_players\", \n    \"output\": []\n  }, \n  \"status\": 200, \n  \"valid\": true\n}\n\ncurl -H \"Content-Type: application/json\" -X GET -d '{\"username\":\"superadmin-username\",\"password\":\"superadmin-password\"}' http://localhost:4891/api/login\n```\n\n* Default JSON output:\n```\n{\n  \"result\": {},  // result of the api call\n  \"status\": 200, // status code of tshockweb api call\n  \"valid\": true  // is valid call to the tshock terraria server\n}\n```\n\n## Documentation\nWe try to make the API as generic and self documenting as possible. Currently we list the whole directory structure with classes,methods and their respective parameters. \n```\nhttp://127.0.0.1:4891/api/documentation\n\n{\n  \"result\": {\n    \"controllers\": {\n      \"groups\": {\n        \"add_group\": [\n          \"group_name\", \n          \"permissions\"\n        ], \n        \"delete_group\": [\n          \"group_name\"\n        ], \n        \"update_group\": [\n          \"group_name\", \n          \"permissions\"\n        ]\n      }, \n      \"manager\": {\n        \"execute_cmd\": [\n          \"command\"\n        ]\n      }, \n      \"players\": {\n        \"add_player\": [\n          \"username\", \n          \"password\", \n          \"group\", \n          \"ip\"\n        ], \n        \"ban_player_by_ip\": [\n          \"ip\", \n          \"reason\"\n        ], \n        \"ban_player_by_username\": [\n          \"username\", \n          \"reason\"\n        ], \n        \"delete_player\": [\n          \"username\"\n        ], \n        \"kick_player_by_username\": [\n          \"username\", \n          \"reason\"\n        ], \n        \"kill_player_by_username\": [\n          \"username\", \n          \"reason\"\n        ], \n        \n```\n\n## Fetching new terraria images\nYou can convert your terraria images to `image/PNG` with `TExtract`: https://forums.terraria.org/index.php?threads/textract-extract-terrarias-images-sound-effects-and-music.937/\nItems can be mapped through this website: http://terraria.gamepedia.com/Item_IDs_Part1\nCopy everything to a file, delete the tabs and delete everything matching `.+?(png)`\n\n## Known issues\n* The meteor can sometimes throw a `Internal server error`, this is being discussed in https://github.com/NyxStudios/TShock/issues/1361\n* Armor/Inventory can sometimes show up other items than in reality (although 90% should be spot on). This because of ID overlapping in terraria itself. As seen here: http://terraria.gamepedia.com/Item_IDs#1801_.E2.86.92_2100\n* If a item is not available in our image databank, it will display a empty image\n* If the tshock server crashes its possible that the internal `Flask` server will crash with a `Broken Pipe` error. A restart of the server is required when this occurs.\n* Missing (de)buffs in the `terraria_buffs.json` result in `XXX not found` and broken image in GUI.\n\n## Current unimplemented features\n* The `Server Activity` is currently generating fake results\n* The `Live server status` is currently generating fake results","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakrasio%2Ftshockwebpanel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakrasio%2Ftshockwebpanel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakrasio%2Ftshockwebpanel/lists"}