- Node.js 18+
- MySQL database (Swordie232)
- Game server with Web API enabled
-
Install dependencies
npm install
-
Configure environment variables
Copy
example.envto.envand edit with your settings:cp example.env .env
Then edit
.env:# Website Configuration REACT_APP_SERVER_NAME=YourStory # Server Rates (displayed on homepage) REACT_APP_EXP_RATE=5 REACT_APP_MESO_RATE=2 REACT_APP_DROP_RATE=2 # Vote Configuration REACT_APP_GTOP100_SITE_ID=your_site_id GTOP100_PINGBACK_KEY=your_pingback_key VOTE_NX_REWARD=5000 VOTE_POINTS_REWARD=3 # Download Configuration REACT_APP_DOWNLOAD_URL=https://your-download-link.com/client.zip # Server Port PORT=3000 # Database Configuration DB_HOST=localhost DB_USER=root DB_PASSWORD=your_password DB_NAME=swordie # Game Server API (leave the port the same) GAME_SERVER_HOST=your_game_server_ip GAME_API_PORT=3000
-
Build the website
npm run build
-
Start the server
npm start
The website will be available at
http://localhost:3000
- Home Page - Server info, rates, and features
- Rankings - Player leaderboard with search
- Download - Game client download page
- Skills - Custom skill changes viewer
- Account Management (For password reset and Username forgot you need to setup email service and fix it i wont update that anytime soon so your on ur own.)
- Login / Register
- Password Reset
- PIC Reset
- Forgot Username
- Voting System - GTop100 integration with rewards
- Go to your site settings on gtop100.com
- In "Reward Voters" section:
- Pingback URL:
http://YOUR_SERVER_IP:3000/api/vote/pingback - Pingback Key: Copy and paste into
.envasGTOP100_PINGBACK_KEY
- Pingback URL:
The Skills page displays custom skill modifications from the game server.
To update skill changes:
- Edit
SkillChangeConstants.javain your Swordie source - Rebuild the game server
- Restart the game server
maplestory-website/
├── public/
│ ├── favicon.ico
│ ├── index.html
│ └── assets/
├── src/
│ ├── components/
│ │ ├── Navbar.tsx
│ │ ├── Footer.tsx
│ │ ├── ThemeToggle.tsx
│ │ ├── VoteModal.tsx
│ │ └── FallingBlossoms.tsx
│ ├── pages/
│ │ ├── Home.tsx
│ │ ├── Login.tsx
│ │ ├── Register.tsx
│ │ ├── Account.tsx
│ │ ├── Rankings.tsx
│ │ ├── Download.tsx
│ │ ├── SkillCalculator.tsx
│ │ ├── ForgotUsername.tsx
│ │ ├── ResetPassword.tsx
│ │ └── ResetPIC.tsx
│ ├── context/
│ │ └── ThemeContext.tsx
│ ├── App.tsx
│ └── index.tsx
├── server.js
├── .env
├── package.json
└── tailwind.config.js
GET /api/rankings- Player rankingsPOST /api/vote/pingback- GTop100 vote callback
GET /api/status- Server statusPOST /api/game/login- User loginPOST /api/game/register- User registrationPOST /api/game/forgot-username- Recover usernamePOST /api/game/reset-password- Reset passwordPOST /api/game/reset-pic- Reset PICGET /api/game/skillchange- Skill changes
Made by lynx