-
Notifications
You must be signed in to change notification settings - Fork 0
Installation and Deployment
- Java:
21 - Server:
Paper 1.20.6+(Spigot compatible) - Database: MariaDB / MySQL
- Optional dependency: Vault (for
GAME_COINintegration)
- Database is installed. Recommended: MariaDB (https://mariadb.org/download/)
- WebShopX plugin is downloaded: https://modrinth.com/plugin/webshopx
- Database schema, username, and password are prepared (example):
schema: db_01
username: user_01
password: admin123Log in as administrator:
mysql -u root -p
-- 1. Create database
CREATE DATABASE db_01 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 2. Create user (local access)
CREATE USER 'user_01'@'localhost' IDENTIFIED BY 'admin123';
-- 3. Grant all privileges on db_01
GRANT ALL PRIVILEGES ON db_01.* TO 'user_01'@'localhost';
-- 4. Reload privilege tables
FLUSH PRIVILEGES;Note: If your plugin runs in Docker or on another server, replace
'localhost'with'%'.
- Put the plugin jar into the server
plugins/directory. - Start the server once to generate default config files.
- Edit
plugins/WebShopX/config.yml, at minimum updatedatabase.*. - Restart the server.
- In-game, players run:
/ws password <new-password>
- Open the player page:
http://<host>:8819/
- Open the admin page:
http://<host>:8819/admin.html
Default values are:
database.host: 127.0.0.1database.schema: webshopdatabase.username: webshopdatabase.password: change_me
If these placeholder values are not changed, the plugin refuses to start normally.
webshop.admin-bootstrap is enabled by default, with initial credentials:
- Username:
admin - Password:
admin123456
In production, change these immediately or disable bootstrap.
Typical error:
[12:29:17 ERROR]: [WebShopX] WebShopX failed to start
com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: RSA public key is not available client side (option serverRsaPublicKeyFile not set)
...
Problem: RSA public key cannot be retrieved.
Cause: The database account uses caching_sha2_password, but the embedded driver cannot fetch the server RSA key during secure authentication.
Solution: switch the target user to mysql_native_password.
mysql -u root -p
-- 1. Ensure user_01 uses legacy auth plugin
ALTER USER 'user_01'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin123';
-- 2. Reload privilege tables
FLUSH PRIVILEGES;- The plugin serves both API and static pages.
- Suitable for quick launch and testing.
- The plugin serves API only.
- Static files are exported to
plugins/WebShopX/web/. - Works with Nginx/CDN reverse proxy.
Recommended in external mode:
- Set
webshop.api-base-url - Use HTTPS via reverse proxy
- Apply reasonable caching and access control
- Change DB credentials and restrict DB access sources.
- Disable or reset default
admin-bootstrapaccount. - Serve HTTPS via Nginx / CDN.
- Open only required ports (default: 8819).
- Back up database and
plugins/WebShopXdata directory regularly. - Monitor log directory (
webshop.logging.directory).
- Point frontend static root to the exported
webdirectory. - Forward
/api/to the plugin service address. - Pass through
X-Forwarded-Forfor accurate source IP auditing.
- Back up the database before upgrading.
- Stop server and replace the jar.
- After startup, check
SchemaManagermigration logs. - Verify critical paths:
- Login and session
- Order and refund
- Market buy/bid
- Admin login and permissions
Warning
Wiki 已迁移至 https://docs.akihito.dpdns.org/category/webshopx/ ,当前 Wiki 不再更新,并将弃用。 This wiki has moved to https://docs.akihito.dpdns.org/category/webshopx/ . It is no longer updated and will be deprecated soon.
- 本 Wiki基于 WebShopX v1.1.2 编写。
- This Wiki is based on WebShopX v1.1.2.
Warning
Wiki 已迁移至 https://docs.akihito.dpdns.org/category/webshopx/ ,当前 Wiki 不再更新,并将弃用。 This wiki has moved to https://docs.akihito.dpdns.org/category/webshopx/ . It is no longer updated and will be deprecated soon.