8ac625a64d75b6b5377f6edbabfd142c30f5d4e8
new file: Dockerfile new file: README.md new file: app.py new file: chat-logs/chat-index.json new file: chat-logs/crea-1-10.08.2020-merged.txt new file: chat-logs/crea-1-11.08.2020-merged.txt new file: chat-logs/crea-1-12.08.2020-merged.txt new file: chat-logs/crea-1-13.08.2020-merged.txt new file: chat-logs/crea-1-14.08.2020-merged.txt new file: chat-logs/crea-1-15.08.2020-merged.txt new file: chat-logs/crea-1-18.08.2020-merged.txt new file: chat-logs/crea-1-20.08.2020-merged.txt new file: chat-logs/crea-1-2020-07-27-1-filtered.txt new file: chat-logs/crea-1-2020-07-28-1-filtered.txt new file: chat-logs/crea-1-2020-07-29-1-filtered.txt new file: chat-logs/crea-1-2020-07-30-1-filtered.txt new file: chat-logs/crea-1-2020-08-03-1-filtered.txt new file: chat-logs/crea-1-2020-08-04-1-filtered.txt new file: chat-logs/crea-1-2020-08-08-1-filtered.txt new file: chat-logs/crea-1-2020-08-09-1-filtered.txt new file: chat-logs/crea-1-2020-08-10-1-filtered.txt new file: chat-logs/crea-1-2020-08-11-1-filtered.txt new file: chat-logs/crea-1-2020-08-13-1-filtered.txt new file: chat-logs/crea-1-2020-08-16-1-filtered.txt new file: chat-logs/crea-1-2020-08-17-1-filtered.txt new file: chat-logs/crea-1-2020-08-18-1-filtered.txt new file: chat-logs/crea-1-2020-08-20-1-filtered.txt new file: chat-logs/crea-1-2020-08-24-1-filtered.txt new file: chat-logs/crea-1-2020-08-29-1-filtered.txt new file: chat-logs/crea-1-2020-08-30-1-filtered.txt new file: chat-logs/crea-1-21.08.2020-merged.txt new file: chat-logs/crea-1-22.08.2020-merged.txt new file: chat-logs/crea-1-23.08.2020-merged.txt new file: chat-logs/crea-1-24.07.2020-merged.txt new file: chat-logs/crea-1-25.07.2020-merged.txt new file: chat-logs/crea-1-25.08.2020-merged.txt new file: chat-logs/crea-1-26.07.2020-merged.txt new file: chat-logs/crea-1-26.08.2020-merged.txt new file: chat-logs/crea-1-27.08.2020-merged.txt new file: chat-logs/crea-1-28.08.2020-merged.txt new file: chat-logs/crea-1-crea-1-10.08.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-11.08.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-12.08.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-14.08.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-15.08.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-18.08.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-20.08.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-21.08.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-22.08.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-23.08.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-24.07.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-25.07.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-25.08.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-26.07.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-26.08.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-27.08.2020-merged-filtered.txt new file: chat-logs/crea-1-crea-1-28.08.2020-merged-filtered.txt new file: chat-logs/survival-1-15.08.2020-merged.txt new file: chat-logs/survival-1-2020-07-27-1-filtered.txt new file: chat-logs/survival-1-2020-07-28-1-filtered.txt new file: chat-logs/survival-1-2020-08-07-1-filtered.txt new file: chat-logs/survival-1-2020-08-08-1-filtered.txt new file: chat-logs/survival-1-2020-08-11-1-filtered.txt new file: chat-logs/survival-1-2020-08-13-1-filtered.txt new file: chat-logs/survival-1-2020-08-14-1-filtered.txt new file: chat-logs/survival-1-2020-08-17-1-filtered.txt new file: chat-logs/survival-1-2020-08-18-1-filtered.txt new file: chat-logs/survival-1-2020-08-19-1-filtered.txt new file: chat-logs/survival-1-25.07.2020-merged.txt new file: chat-logs/survival-1-survival-1-15.08.2020-merged-filtered.txt new file: chat-logs/survival-1-survival-1-25.07.2020-merged-filtered.txt new file: chat-logs/thesur-1-2020-08-17-1-filtered.txt new file: chat-logs/thesur-1-2020-08-31-1-filtered.txt new file: count_all_sessions.py new file: count_sessions.py new file: index.html new file: local-chat-analyzer.js new file: merge_daily_logs.py new file: process_thesur_logs.py new file: quick_add.py new file: requirements.txt new file: script.js new file: server.py new file: statistics-integration.js new file: statistics.css new file: statistics.js new file: style.css
Minecraft Chat Viewer
An elegant website for displaying and formatting Minecraft chat logs with Docker/Coolify support.
🚀 Quick Start
Option 1: Docker (Recommended for Production)
# Build the Docker image
docker build -t minecraft-chat-viewer .
# Run the container
docker run -p 5000:5000 minecraft-chat-viewer
# Open browser
http://localhost:5000
Option 2: Coolify Deployment
- Push your code to a Git repository
- In Coolify, create a new application
- Select "Docker" as deployment type
- Point to your repository
- Set port to
5000 - Deploy!
Option 3: Local Development with Flask
# Install dependencies
pip install -r requirements.txt
# Run the Flask app
python app.py
# Open browser
http://localhost:5000
Option 4: Legacy Python Server
# Start simple HTTP server
python server.py
# Open browser
http://localhost:8000
🗺️ Minecraft Server Maps (2020)
Survival-1
- 21.08.2020: https://file.devanturas.net/u/4uVh8r.zip
crea-1
- 21.08.2020: https://file.devanturas.net/u/UfmfKF.zip
THESUR-1
- 18.08.2020: https://file.devanturas.net/u/373GHK.zip
- 20.08.2020: https://file.devanturas.net/u/NwkZou.zip
- 22.08.2020: https://file.devanturas.net/u/zwLaEG.zip
- 23.08.2020: https://file.devanturas.net/u/1KIMeq.zip
- 27.08.2020: https://file.devanturas.net/u/3Y5u2M.zip
- 28.08.2020: https://file.devanturas.net/u/h5bygb.zip
- 31.08.2020: https://file.devanturas.net/u/jdZOo1.zip
📁 Project Structure
minecraft-chat-viewer/
├── app.py # Flask application (Production)
├── server.py # Simple HTTP server (Development)
├── Dockerfile # Docker configuration
├── .dockerignore # Docker build exclusions
├── .gitignore # Git exclusions
├── requirements.txt # Python dependencies
├── index.html # Main page
├── style.css # Styling
├── script.js # JavaScript Logic
├── statistics.js # Statistics module
├── statistics.css # Statistics styling
├── statistics-integration.js # Statistics integration
├── local-chat-analyzer.js # Local chat analyzer
├── chat-logs/ # Chat files (included in Docker)
│ ├── chat-index.json # Chat overview
│ └── *.txt # Chat log files
├── maps/ # Minecraft world maps (excluded from Git/Docker)
├── raw logs/ # Raw log files (excluded from Git/Docker)
└── stats/ # Statistics (excluded from Git/Docker)
✨ Features
- 📋 Server-side Chat List: All chats are managed centrally
- 🎨 Beautiful Formatting: Role badges, timestamps, player names
- ⚙️ Customizable Settings: Filters for different message types
- 📊 Detailed Statistics: Message count, player info
- 💾 Export Function: Download as formatted HTML file
- 🌙 Dark Theme: Minecraft-inspired design
- 📱 Responsive: Works on all devices
🔧 Adding New Chat Logs
1. Create Chat File
Create a new .txt file in chat-logs/ with the Minecraft chat format:
[17:40:32] : Mod ▎ duencity2 joined the game
[17:41:07] : Member ▎ sdf7 : Hello everyone!
2. Update Index
Add the chat to chat-logs/chat-index.json:
{
"id": "my-new-chat",
"title": "🎯 My New Chat",
"description": "Description of the chat log",
"date": "2020-12-25",
"participants": ["Player1", "Player2"],
"messages": 50,
"filename": "my-new-chat.txt"
}
🎮 Supported Chat Format
The website automatically recognizes:
- Timestamps:
[HH:MM:SS] - Roles: Admin, Mod, Member
- Join/Leave:
joined the game,left the game - Chat Messages:
Role ▎ Player : Message - System Messages: Server events
🌐 Server Requirements
Docker/Coolify
- Docker: 20.10+
- Port: 5000 (configurable via PORT environment variable)
Local Development
- Python 3.11+
- Flask 3.0+
- Modern Browsers: Chrome/Edge 80+, Firefox 70+, Safari 13+
🐳 Docker Configuration
Environment Variables
PORT- Server port (default: 5000)FLASK_ENV- Environment mode (production/development)FLASK_APP- Flask application file (default: app.py)
Health Check
The Docker container includes a health check endpoint:
- URL:
/health - Interval: 30s
- Response:
{"status": "healthy", "service": "minecraft-chat-viewer"}
Building and Running
# Build
docker build -t minecraft-chat-viewer .
# Run
docker run -d -p 5000:5000 --name minecraft-chat minecraft-chat-viewer
# Check logs
docker logs minecraft-chat
# Health check
curl http://localhost:5000/health
🔒 Security & Privacy
- ✅ Completely offline usable
- ✅ No data is transmitted
- ✅ All files remain local
- ✅ No tracking or cookies
🛠️ Development
The project uses:
- Vanilla JavaScript - No external dependencies
- CSS Grid & Flexbox - Modern layout
- CSS Custom Properties - Easy theming
- Fetch API - For loading chat files
📝 License
Open Source - Free to use for private and commercial purposes.
Made with ❤️ for better Minecraft chat viewing • 2025
Description
Languages
JavaScript
59.2%
Python
24.5%
CSS
12.3%
HTML
3.3%
Dockerfile
0.7%