I tried to keep the code pep8 conform via the help of SublimeLinter, but I ignored the max. line-length rule...
The code is as is with some unpublished things.
You need some work and dependencies to make it run.
- Install at least Python 3.2 and VirtualEnv
- Create a virtual environment and install following Python modules via pip (newer and older version might run, but this is my current setup)
- bcrypt 2.0.0
- cymysql 0.8.1
- flask 0.10.1
- flask-login 0.2.11
- watress 1.1.0
- httpagentparser 1.7.7
- itsdangerous 0.24
- pillow 2.8.1
- Configure and conf.py to your needs
- Put Semantic UI .css files in static/css/
- Put all the fonts of css in static/css/fonts/
- Put JQuery, Semantic UI, moment and highstock in static/js/
- Item-render are needed for the Inventory Parser. Extract the images from the game and put them in static/img/items/
- run
python app.py
- Flask
- Semantic UI
- Highstock
- Moment
- Dozen of other things
- Magic
- MessagePlugin
- Reports
- ExtendedBans
- Map
- ShortCommands
- Custom A.T.S.P. plugins I can't share
- Fully mobile compatible - can be switched via "Show desktop version" (UserAgent dependant)
- Random background images
- Just throw in your full images in static/img/screenshots/original and the thumbnails are created automagically
- Shows the amount of players currently online
- Shows every player with his character and tooltip (character renders aren't created with the website)
- Shows how long it is so Hardmode is activated on the server and to World Reset. index.js handles these
- Shows members of the groups newadmin, admin, superadmin, vip, vip+ and vip++
- VIPs are colored depending on rank
- Some links and fancy colorful buttons :3
- Banned items
- Messages you got with the MessagePlugin
- Depending on the logged in user shows ban-data
- Shows staff all the unhandled /report's, use /hreport to hide them
- Player amount statistics, which are collected via a custom plugin
- (superadmin) Backup filesizes, which are made and saved in the database via a bash-script
- Only newadmin and higher
- Uses the database of ExtendedBans
- Character bans
- IP bans
- Shows human readable ETA if not perma-ban
- Hides unbanned entries, either via command or time-based bans
- Only supervip, newadmins and higher
- World Map, generated via the Map plugin
- Only newadmin and higher
- Inventory of currently online players
- Group, health and mana
- Enter a exact username to see the inventory of a offline user
- Only newadmin and higher
- Search for users with a pattern, doesn't cares about case
- Clicking on a user leads you to the inventory parser, showing the inventory, health, mana and group of the player
- Results are limited to 50, to avoid possible timeouts
- Shows motd.txt and rules.txt
- Writable for group admin and higher
- All short URLs
- Group admin and higher can directly add new short URLs on the page
- shorturl is a external flask application
- Uses character images to create everywhere-usable avatars and signatures for every player
- Collected votes of users in a ranking
- Votes aren't done on the website
- Download links of previous worlds
- They are added during the Apocalypse via a bash-script to the folder and database