Public
Like
HeroTool
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data β all from the browser, and deployed in milliseconds.
index.ts
https://onetruechaos--16ec930238d811f098299e149126039e.web.val.run
A web-based chat client for connecting to Archipelago.gg servers. This application allows you to view and send chat messages to connected Archipelago servers.
- Connect to Archipelago.gg servers via WebSocket
- Real-time chat message viewing
- Send chat messages to the server
- Connection status monitoring
- Clean, responsive UI
βββ backend/
β βββ index.ts # Main Hono server with WebSocket proxy
βββ frontend/
β βββ components/
β β βββ App.tsx # Main application component
β β βββ ChatWindow.tsx # Chat message display
β β βββ MessageInput.tsx # Message input component
β β βββ ConnectionForm.tsx # Server connection form
β βββ index.html # Main HTML template
β βββ index.tsx # Frontend entry point
β βββ style.css # Custom styles
βββ shared/
β βββ types.ts # Shared TypeScript types
βββ README.md
- Open the application
- Enter your Archipelago server details (host, port, slot name, password if required)
- Click "Connect" to establish connection
- View incoming chat messages in real-time
- Send messages using the input field at the bottom
- Backend: Hono.js with WebSocket support
- Frontend: React with TypeScript
- Styling: TailwindCSS
- Real-time communication: WebSocket connection to Archipelago servers
GET /
- Main application interfaceGET /ws
- WebSocket endpoint for real-time communicationGET /health
- Health check endpointGET /frontend/*
- Static frontend assetsGET /shared/*
- Shared TypeScript types
The client supports the following Archipelago protocol commands:
Connect
- Initial connection to serverConnected
- Connection confirmationConnectionRefused
- Connection rejection handlingSay
- Send chat messagesPrintJSON
- Receive formatted messages (chat, items, locations)RoomInfo
- Room information updatesRoomUpdate
- Real-time room updates
- Chat: Regular player messages
- System: Server notifications and status updates
- Item: Item-related notifications with special highlighting
- Location: Location-related notifications with special highlighting