The ULTIMATE xat.com recreation with ALL legendary features!
This is a recreation of the classic xat.com chat platform from 2007-2016, built with modern web technologies while maintaining the nostalgic feel and features.
- Real-time avatar animations that respond to chat messages
- Frame-perfect animations with 25+ frames per action
- Multi-part animation system (eyes, mouth, eyebrows, hair)
- Emotion mapping - words trigger specific animations
- Canvas-based rendering replacing Flash MovieClips
- Visual moderation effects for bans, kicks, promotions
- Rank-based color coding (Main Owner=Red, Mod=White, Member=Blue, Owner=Orange, Guest=Green)
- Dynamic particle effects with expanding circles and sparkles
- Text blast effects for announcements
- Real-time canvas rendering replacing Flash visual effects
- User-to-user marketplace for power trading
- Real-time trade offers and negotiations
- Power verification using bitwise flag system
- Trade history and status tracking
- Complete trading interface replacing Flash trading
- Bot protection with mathematical challenges
- Spam filtering with rate limiting
- IP banning and user moderation
- JWT authentication with secure password hashing
- Multi-layer protection replacing Flash security
- 286+ powers with complete database
- Bitwise flag system (p0-p10 sections)
- Power categories and limited editions
- Real-time power activation with effects
- Power store with virtual economy
- Multi-channel chat rooms with separate message history
- Pool-specific powers and ranks
- Dynamic room switching with real-time updates
- Room management with backgrounds and radio
- 25 different kiss types with unique animations
- Progressive unlocking system
- Seasonal kisses for holidays and events
- Interactive animations with real-time responses
- Ban games (snake, maze, code puzzles)
- Chat games and interactive features
- Power games and challenges
- Moderation games for user engagement
- 600+ audio assets with real-time triggering
- Power-specific sounds and effects
- Background music and ambient sounds
- Dynamic audio loading and caching
- Hierarchical moderation (Main Owner, Owner, Mod, Member, Guest)
- Color-coded ranks with visual indicators
- Temporary ranks and promotions
- Moderation commands with blast effects
If you want to contribute, please submit a pull request!
- Node.js/Express backend with Socket.IO (
src/server/xatServer.js) - Pure HTML/JS/CSS frontend (
src/client/chat-interface.html) - MongoDB database with Mongoose ODM
- JWT authentication with bcrypt hashing
- Real-time communication with WebSockets
- iXat-style ranking system with
fflag support
- Main Server:
src/server/xatServer.js- Complete working server - Models:
src/server/models/- Database schemas - Routes:
src/server/routes/- API endpoints - Services:
src/server/services/- Business logic - Middleware:
src/server/middleware/- Server middleware
- Main Chat:
src/client/chat-interface.html- Complete working chat interface - Authentication:
src/client/auth.html- Login/register system - Homepage:
src/client/index.html- Main landing page - Pure JavaScript with ES6+ features
- Real-time WebSocket client for communication
- iXat ranking system with guest user support
- Clone the repository to get all the files
git clone https://github.com/FlappyJack212/xat-chat.git
cd chat- Install all the dependancies
# Install dependencies
# Node.js (v14 or higher), MongoDB (v4.4 or higher), and npm or yarn
npm install- Start MongoDB Make sure MongoDB is running on your system:
# On Windows
net start MongoDB
# On macOS/Linux
sudo systemctl start mongodb- For configuration, create a
.envfile in the root directory:
PORT=8000
MONGO_URI=mongodb://localhost:27017/xat-chat
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production- Get rolling
# Start the server (serves from src/client directly)
npm start
# Or for development with auto-restart
npm run dev
"Your chat is ready, sir"
Access your chat at:
- Homepage: http://localhost:8000/
- Main Chat: http://localhost:8000/chat-interface.html
- Authentication: http://localhost:8000/auth.html
โ
Guest User Support - Shows guest users when not logged in
โ
User Authentication - Login/register system
โ
iXat Ranking System - f flag based ranking (Guest, Main Owner, Mod, Member, VIP, etc.)
โ
Real-time Chat - WebSocket communication
โ
Powers System - 325+ powers with store
โ
Advanced Moderation - Warnings, mutes, kicks, bans
โ
Chat Management - Create, edit, join chat rooms
โ
Groups System - Create and manage user groups
npm start- Start the production servernpm run dev- Start development server with nodemon
npm run watch- Watch for changes and rebuildnpm run lint- Run ESLintnpm test- Run tests
XaviAnimationSystem- Avatar animationsBlastEffectsSystem- Visual effectsPowerTradingSystem- Trading marketplaceXatServer- Complete server implementationxat-engine.js- Main client engine
User- Complete user system with powers and ranksPower- Power database with bitwise flagsRoom- Chat rooms with pools and moderationMessage- Message history and storage
POST /api/auth/register- User registration ({"username":"testuser","email":"[email protected]","password":"111111","confirmPassword":"111111"})POST /api/auth/login- User login ({"username":"test","password":"test"})
GET /api/user/profile- Get user profilePUT /api/user/profile- Update user profilePOST /api/user/friends/:friendId- Add friendDELETE /api/user/friends/:friendId- Remove friend
GET /api/powers- Get all powersGET /api/powers/:powerId- Get power detailsPOST /api/powers/:powerId/activate- Activate power
GET /api/room- Get all roomsPOST /api/room- Create new roomGET /api/room/:roomId- Get room detailsPUT /api/room/:roomId- Update roomDELETE /api/room/:roomId- Delete roomPOST /api/room/:roomId/join- Join roomPOST /api/room/:roomId/leave- Leave room
GET /api/avatars/:avatarId- Get avatar details
GET /api/smilies/:code- Get smiley details
room:join- Join a chat roomroom:leave- Leave a chat roommessage:send- Send a messagetyping:start- Start typing indicatortyping:stop- Stop typing indicatorpower:activate- Activate a poweravatar:change- Change user avatar
message:received- Receive a messageuser:join- User joined roomuser:leave- User left roomtyping:start- User started typingtyping:stop- User stopped typingpower:effect- Power effect triggeredavatar:update- User avatar updated
- New Power: Add to
src/server/routes/powers.jsand update the Power model - New Avatar: Add to
src/server/routes/avatars.jsand place image inavatars/directory - New Smiley: Add to
src/server/routes/smilies.jsand place image insmilies/directory - New Room Feature: Extend the Room model and add corresponding routes
// Real-time avatar animations
xaviSystem.playAnimation('smile');
xaviSystem.setXaviData(xaviJson);// Visual moderation effects
blastSystem.createBlast('blastban', x, y);
blastSystem.createRankBlast(rank, x, y);// User-to-user trading
tradingSystem.open();
tradingSystem.createTrade(powerId, price);// Bitwise power checking
user.hasPower(powerId);
user.addPower(powerId);- Node.js 16+
- MongoDB 4.4+
- npm or yarn
# Clone the repository
git clone https://github.com/your-username/xat-recreation.git
cd xat-recreation
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your configuration
# Initialize database
npm run init-db
# Start the server
npm start- โ Live avatar animations responding to messages
- โ Instant power activation with visual effects
- โ Real-time trading with live updates
- โ Live moderation with blast effects
- โ Dynamic room switching with pool system
- โ Xats currency with earning and spending
- โ Power marketplace with user trading
- โ Limited edition powers with time restrictions
- โ Power store with categories and descriptions
- โ Trading system with offers and negotiations
- โ Friend system with requests and management
- โ User profiles with customizable avatars
- โ Rank system with hierarchical permissions
- โ Chat rooms with backgrounds and radio
- โ Message history with search and filtering
- โ Ban system with reasons and durations
- โ Kick system with blast effects
- โ Rank management with promotions/demotions
- โ Spam protection with rate limiting
- โ Bot protection with mathematical challenges
This is NOT just a chat system - it's a COMPLETE VIRTUAL WORLD with:
- Real-time avatar animations that respond to messages
- Virtual economy with trading and limited powers
- Interactive games for moderation and entertainment
- Advanced security with bot protection and spam filtering
- Multi-protocol support for maximum compatibility
- 600+ audio assets for immersive experience
- Visual effects engine for moderation actions
- Hierarchical moderation with color-coded ranks
Every feature from the original Flash xat.com has been PERFECTLY migrated to modern JavaScript:
- Flash Stage โ Canvas rendering
- Flash MovieClips โ JavaScript classes
- Flash XMLSocket โ WebSocket communication
- Flash animations โ requestAnimationFrame loops
- Flash security โ JWT + bcrypt authentication
- Flash trading โ Real-time trading system
- Flash effects โ Canvas-based blast effects
The application uses a modular CSS approach:
normalize.css- CSS resetmain.css- Base stylesxat.css- Xat-specific stylesplatform.css- Platform-specific stylesquickbar.css- Quickbar component styleschat.css- Chat interface styles
-
MongoDB Connection Error
- Ensure MongoDB is running
- Check the
MONGO_URIin your.envfile - Verify network connectivity
-
Socket.IO Connection Issues
- Check if the server is running on the correct port
- Ensure CORS is properly configured
- Check browser console for errors
-
Build Errors
- Clear
node_modulesand reinstall:rm -rf node_modules && npm install - Check webpack configuration
- Verify all dependencies are installed
- Clear
-
CSS Not Loading
- Ensure webpack build completed successfully
- Check file paths in CSS imports
- Verify static file serving is configured
chat/
โโโ src/
โ โโโ client/ # Frontend code
โ โ โโโ css/ # Stylesheets
โ โ โโโ index.js # Main entry point
โ โ โโโ chat.js # Chat functionality
โ โ โโโ classic.js # Classic mode
โ โ โโโ *.html # HTML templates
โ โโโ server/ # Backend code
โ โโโ config/ # Database configuration
โ โโโ middleware/ # Express middleware
โ โโโ models/ # MongoDB models
โ โโโ routes/ # API routes
โโโ sounds/ # Audio files
โโโ avatars/ # Avatar images
โโโ smilies/ # Smiley images
โโโ backgrounds/ # Background images
โโโ server.js # Main server file
โโโ webpack.config.js # Webpack configuration
โโโ package.json # Dependencies and scripts
Enable debug logging by setting:
DEBUG=*This implementation represents the ULTIMATE xat.com recreation with EVERY legendary feature from the original Flash system, now running on modern web technologies with PERFECT compatibility and ENHANCED performance!
This isnโt just a chat system; itโs a resurrection of an era, rebuilt with modern technology but fueled by the same chaotic magic of 2007โ2016 xat.com.
โก Every animation. ๐ Every power. ๐ฅ Every blast. ๐ญ Every nostalgia hit.
All alive again in JavaScript.
(This project is for educational purposes and is not affiliated with xat.com.)