mirror of
https://git.sanhost.net/sanasol/hytale-f2p
synced 2026-02-26 04:31:48 -03:00
Consistent order across all files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
89 lines
2.8 KiB
Bash
Executable File
89 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Hytale F2P Local Development - Start Script
|
|
# Usage: ./start.sh
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
|
|
# Colors
|
|
GREEN='\033[0;32m'
|
|
CYAN='\033[0;36m'
|
|
YELLOW='\033[1;33m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m'
|
|
|
|
echo ""
|
|
echo -e "${CYAN}========================================"
|
|
echo "Hytale F2P Local Dev Environment"
|
|
echo -e "========================================${NC}"
|
|
echo ""
|
|
|
|
# Create data directories
|
|
mkdir -p "$SCRIPT_DIR/data/auth" "$SCRIPT_DIR/data/kvrocks"
|
|
|
|
# Start Docker services
|
|
echo -e "${GREEN}Building and starting services...${NC}"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
# Stop existing
|
|
docker compose down 2>/dev/null || true
|
|
|
|
# Build and start
|
|
docker compose up -d --build
|
|
|
|
# Wait for ready
|
|
echo -n "Waiting for server"
|
|
for i in {1..30}; do
|
|
if curl -s http://localhost:3000/health > /dev/null 2>&1; then
|
|
echo ""
|
|
echo -e "${GREEN}Server ready!${NC}"
|
|
break
|
|
fi
|
|
if [ $i -eq 30 ]; then
|
|
echo ""
|
|
echo -e "${RED}Server failed to start! Check logs:${NC}"
|
|
docker compose logs auth-server
|
|
exit 1
|
|
fi
|
|
echo -n "."
|
|
sleep 1
|
|
done
|
|
|
|
echo ""
|
|
echo -e "${CYAN}========================================"
|
|
echo "Services Running"
|
|
echo -e "========================================${NC}"
|
|
echo ""
|
|
docker compose ps
|
|
echo ""
|
|
echo -e "${CYAN}Endpoints:${NC}"
|
|
echo -e " Auth Server HTTP: ${GREEN}http://localhost:3000${NC}"
|
|
echo -e " Auth Server HTTPS: ${GREEN}https://localhost:3443${NC}"
|
|
echo -e " Debug Dashboard: ${GREEN}http://localhost:3000/debug${NC}"
|
|
echo -e " Admin Dashboard: ${GREEN}http://localhost:3000/admin${NC} (password: localdev)"
|
|
echo -e " JWKS: ${GREEN}http://localhost:3000/.well-known/jwks.json${NC}"
|
|
echo -e " Kvrocks: localhost:6666"
|
|
echo ""
|
|
echo -e "${CYAN}========================================"
|
|
echo "Using with Launcher"
|
|
echo -e "========================================${NC}"
|
|
echo ""
|
|
echo -e "Start launcher with HTTPS (recommended):"
|
|
echo -e " ${GREEN}cd $PROJECT_ROOT${NC}"
|
|
echo -e " ${GREEN}HYTALE_AUTH_DOMAIN=localhost:3443 NODE_TLS_REJECT_UNAUTHORIZED=0 npm start${NC}"
|
|
echo ""
|
|
echo -e "${YELLOW}First time SSL setup (macOS):${NC}"
|
|
echo -e " Add cert to keychain to avoid NODE_TLS_REJECT_UNAUTHORIZED:"
|
|
echo -e " ${GREEN}sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain data/auth/ssl/server.crt${NC}"
|
|
echo ""
|
|
echo -e "${CYAN}========================================"
|
|
echo "Useful Commands"
|
|
echo -e "========================================${NC}"
|
|
echo ""
|
|
echo -e "View logs: ${GREEN}docker compose logs -f auth-server${NC}"
|
|
echo -e "Stop services: ${GREEN}docker compose down${NC}"
|
|
echo -e "Restart: ${GREEN}docker compose restart auth-server${NC}"
|
|
echo -e "Check request log: ${GREEN}cat data/auth/debug-requests.jsonl | jq${NC}"
|
|
echo ""
|