2023-05-20 23:10:56 +00:00
|
|
|
====================================================================================================================
|
|
|
|
Disclaimer:
|
|
|
|
- I am not the creator of the original code
|
|
|
|
- I do not condone stealing any of the content within the repository
|
|
|
|
- These instructions are for educational purposes only
|
|
|
|
You can learn a lot from the way others go about getting things done!
|
|
|
|
====================================================================================================================
|
|
|
|
IMPORTANT
|
|
|
|
====================================================================================================================
|
|
|
|
All of the below instructions reference the files located within
|
|
|
|
".FILES USED TO GET TO WHERE WE ARE PRESENTLY"
|
|
|
|
The rest of the content within this repository is the current state of the source code.
|
|
|
|
|
|
|
|
Order of Launch:
|
|
|
|
1. Ensure required systems are running (the web-api [attached] XMAPP, Redis and RDM [Redis Desktop Manager])
|
|
|
|
2. Start Bungeecord FIRST
|
|
|
|
3. THEN start the other 3 servers
|
|
|
|
|
|
|
|
Notes:
|
|
|
|
- The bungeecord server is set to the IP 172.17.19.162:25565. This can be modified in the config.yml file within
|
|
|
|
the bungeecord directory where it says "host:"
|
|
|
|
- The other servers are set to localhost:25566, localhost:25567, and localhost:25568 for mineplex-dev-spigot-1,
|
|
|
|
mineplex-dev-spigot-mainHub, and mineplex-dev-spigot-map-parser respectively.
|
|
|
|
- Ensure that the config.yml files in mineplex-dev-spigot-1 and mineplex-dev-spigot-map-parser point towards the
|
|
|
|
directory mineplex-dev-spigot-1/update/maps. This will allow us to have parsed maps be automatically sent
|
|
|
|
over to the arcade server.
|
|
|
|
- I have no idea what the deal is with port forwarding the servers that are not bungeecord... Portforward all of
|
|
|
|
their ports, I guess!
|
|
|
|
====================================================================================================================
|
|
|
|
Setup Instructions
|
|
|
|
====================================================================================================================
|
|
|
|
SETUP
|
|
|
|
MySQL:
|
|
|
|
====================================================================================================================
|
|
|
|
|
|
|
|
>>>Copy the xampp files to your C-drive (C:/)
|
|
|
|
Heads up, they're massive!!
|
|
|
|
|
|
|
|
|
|
|
|
>>>Under the xampp folder (within this project's directory), Run the setup_xampp.bat
|
|
|
|
if you have not run this before
|
2023-05-20 23:18:18 +00:00
|
|
|
>>>Once finished, run the xampp-control.exe file
|
2023-05-20 23:10:56 +00:00
|
|
|
>>>Enable MySQL and Apache through xampp
|
|
|
|
by clicking "start" on these respective rows
|
|
|
|
|
|
|
|
|
|
|
|
>>>Within the xmapp UI, click "admin" on the MySQL row
|
|
|
|
>>>On the left nagivation tree, select "New"
|
|
|
|
>>>Create new databases named:
|
|
|
|
"account"
|
|
|
|
"mineplex"
|
|
|
|
"queue"
|
|
|
|
"stats"
|
|
|
|
"mysql"
|
|
|
|
|
|
|
|
>>>Select the "account: database
|
|
|
|
>>>for the "account" database: select the SQL tab
|
|
|
|
>>>Open the account.sql file (R-Click>Edit)
|
|
|
|
>>>Paste in the code w/in account.sql
|
|
|
|
>You can also import this directly
|
|
|
|
|
|
|
|
>>>Repeat with the "mineplex" database
|
|
|
|
and the mineplex.sql file
|
|
|
|
|
|
|
|
====================================================================================================================
|
|
|
|
SETUP
|
|
|
|
Redis:
|
|
|
|
====================================================================================================================
|
|
|
|
|
|
|
|
>>>Copy the Redis files to your program files directory
|
|
|
|
(C:\Program Files)
|
|
|
|
|
|
|
|
|
|
|
|
>>>Copy the RedisDesktopManager files to your 32-bit Program Files directory
|
|
|
|
(C:\Program Files (x86))
|
|
|
|
|
|
|
|
|
|
|
|
>>>Under the Redis folder (within this project's directory)
|
|
|
|
Run the redis-server.exe file
|
|
|
|
>>>If successful, you will have a CMD prompt formatted like so:
|
|
|
|
_._
|
|
|
|
_.-``__ ''-._
|
|
|
|
_.-`` `. `_. ''-._ Redis 3.2.100 (00000000/0) 64 bit
|
|
|
|
.-`` .-```. ```\/ _.,_ ''-._
|
|
|
|
( ' , .-` | `, ) Running in standalone mode
|
|
|
|
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 <configured port>
|
|
|
|
| `-._ `._ / _.-' | PID: 16960
|
|
|
|
`-._ `-._ `-./ _.-' _.-'
|
|
|
|
|`-._`-._ `-.__.-' _.-'_.-'|
|
|
|
|
| `-._`-._ _.-'_.-' | http://redis.io
|
|
|
|
`-._ `-._`-.__.-'_.-' _.-'
|
|
|
|
|`-._`-._ `-.__.-' _.-'_.-'|
|
|
|
|
| `-._`-._ _.-'_.-' |
|
|
|
|
`-._ `-._`-.__.-'_.-' _.-'
|
|
|
|
`-._ `-.__.-' _.-'
|
|
|
|
`-._ _.-'
|
|
|
|
`-.__.-'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>>>Under the RedisDesktopManager folder:
|
|
|
|
run the rdm.exe file
|
|
|
|
>>>Follow the listed instructions:
|
|
|
|
https://gist.github.com/randomdevlol/5b36bdf0972b66d9ed6059b786d78d5a
|
|
|
|
IMPORTANT:
|
|
|
|
IN ORDER TO HAVE ACCESS TO THE MPS MENU:
|
|
|
|
Define "serverType" as "Player"
|
|
|
|
Create new Row:
|
|
|
|
Key: host
|
|
|
|
Value: <YOUR IGN>
|
|
|
|
|
|
|
|
WEB API:
|
|
|
|
|
|
|
|
>>>Head over to CSGI Mineplex Testing Servers/MineplexNodeJS-master - Copy
|
|
|
|
>>>Run the start.bat file
|
|
|
|
|
|
|
|
====================================================================================================================
|
|
|
|
SETUP
|
|
|
|
SERVERS:
|
|
|
|
====================================================================================================================
|
|
|
|
|
|
|
|
>>>Head to CSGI Mineplex Testing Servers
|
|
|
|
>>>Follow below instructions:
|
|
|
|
|
|
|
|
BUNGEECORD (REQUIRED):
|
|
|
|
----------------------
|
|
|
|
>>>Open mineplex-dev-spigot-bungeecord
|
|
|
|
>>>Modify the config.yml file:
|
|
|
|
>Set:
|
|
|
|
bind_local_address: true
|
|
|
|
host: 176.16.0.23:25565
|
|
|
|
IMPORTANT:
|
|
|
|
Set the host as: <Your IPv4 Gateway IP>: <portforwarded port>
|
|
|
|
>>>Run start.bat
|
|
|
|
|
|
|
|
ARCADE PLUGIN (MINIGAMES):
|
|
|
|
--------------------------
|
|
|
|
>>>Open mineplex-dev-spigot-1
|
|
|
|
>>>Modify redis-config.dat:
|
|
|
|
>Set:
|
|
|
|
<IP> 6379 MASTER DefaultConnection
|
|
|
|
<IP> 6379 SLAVE ServerStatus
|
|
|
|
<IP> 6379 SLAVE globalMotd
|
|
|
|
<IP> 6379 SLAVE
|
|
|
|
<IP> 6379 SLAVE
|
|
|
|
<IP> 6379 SLAVE
|
|
|
|
<IP> 6379 SLAVE
|
|
|
|
<IP> 6379 SLAVE
|
|
|
|
<IP> 6379 SLAVE
|
|
|
|
<IP> 6379 SLAVE
|
|
|
|
<IP> 6379 SLAVE
|
|
|
|
<IP> 6379 SLAVE
|
|
|
|
<IP> 6379 SLAVE
|
|
|
|
<IP> 6379 SLAVE
|
|
|
|
IMPORTANT:
|
|
|
|
<IP> is the IP in which Redis is running on
|
|
|
|
If you're using your local machine, set this to either localhost or 127.0.0.1
|
|
|
|
If you're running a hosted virtural machine (VM), set this to the IPv4 or accessible URL of that service
|
|
|
|
(check ipconfig for IPv4 address of system, or contact local administrator for accessible URL)
|
|
|
|
6379 is the default port that Redis configures to
|
|
|
|
Check the Redis cmd prompt for the configured port (see above)
|
|
|
|
Note:
|
|
|
|
You need a unique port for Redis
|
|
|
|
>>>Modify database-config.dat:
|
|
|
|
>Set:
|
|
|
|
ACCOUNT <MySQL-IP>:<MySQL-Port>/account root root
|
|
|
|
QUEUE <MySQL-IP>:<MySQL-Port>/queue root root
|
|
|
|
MINEPLEX <MySQL-IP>:<MySQL-Port>/mineplex root root
|
|
|
|
MINEPLEX_STATS <MySQL-IP>:<MySQL-Port>/mineplex root root
|
|
|
|
PLAYER_STATS <MySQL-IP>:<MySQL-Port>/stats root root
|
|
|
|
SERVER_STATS <MySQL-IP>:<MySQL-Port>/stats root root
|
|
|
|
MSSQL_MOCK <MySQL-IP>:<MySQL-Port>/mysql root root
|
|
|
|
|
|
|
|
>>>Head to plugins>arcade
|
|
|
|
>Set:
|
|
|
|
webServer: http://176.16.0.23:8080/
|
|
|
|
IMPORTANT:
|
|
|
|
This listed IP is the IP address in which the API is running off of
|
|
|
|
Default port is :8080
|
|
|
|
Listed IP is the IPv4 address of the host
|
|
|
|
If you're using your local machine, set this to your device's IPv4 address
|
|
|
|
If you're running a hosted virtural machine (VM), set this to the IPv4 or accessible URL of that service
|
|
|
|
(check ipconfig for IPv4 address of system, or contact local administrator for accessible URL)
|
|
|
|
Set the port to the portforwarded port for the API
|
|
|
|
Note:
|
|
|
|
You need a unique port for the API
|
|
|
|
|
|
|
|
connectionurl: localhost:3306
|
|
|
|
IMPORTANT:
|
|
|
|
This is the IP of your MySQL database
|
|
|
|
If you're using your local machine, set this to either localhost or 127.0.0.1
|
|
|
|
If you're running a hosted virtural machine (VM), set this to the IPv4 or accessible URL of that service
|
|
|
|
(check ipconfig for IPv4 address of system, or contact local administrator for accessible URL)
|
|
|
|
3306 is the default port that MySQL configures to
|
|
|
|
Check the xmapp UI for the configured port
|
|
|
|
Note:
|
|
|
|
You need a unique port for MySQL
|
|
|
|
username: root
|
|
|
|
password: root
|
|
|
|
IMPORTANT:
|
|
|
|
These are the username and password for the MySQL database
|
|
|
|
Verify that you have created a user group with the credentials you would like to use in order to
|
|
|
|
access the MySQL database
|
|
|
|
group: <Designated Group>
|
|
|
|
IMPORTANT:
|
|
|
|
YOU MUST HAVE CREATED A GROUP WITH THIS NAME WITHIN REDIS (SEE ABOVE)
|
|
|
|
Map Parser:
|
|
|
|
-----------
|
|
|
|
This is required if you want to run any maps on the plugins server
|
|
|
|
that have not yet already been parsed.
|
|
|
|
With the closure of Mineplex, this is the only way to attain maps that work for these gamemodes
|
|
|
|
Good thing we have these, right??
|
|
|
|
|
|
|
|
>>>Head to Plugins>config.yml
|
|
|
|
>Set:
|
|
|
|
fileSettings:
|
|
|
|
mapParserOutputDirectory: <PATH\TO\THIS\FOLDER>\mineplex-dev-spigot-map-parser\output
|
|
|
|
IMPORTANT:
|
|
|
|
This is an EXACT directory link. If you're running this on your desktop, you MUST specify
|
|
|
|
the entire path from your C drive, through your desktop, to this folder.
|
|
|
|
|
|
|
|
====================================================================================================================
|
|
|
|
Running
|
|
|
|
Everything
|
|
|
|
====================================================================================================================
|
|
|
|
|
|
|
|
1. Ensure all of the databases are up and running.
|
|
|
|
The WebAPI, MySQL, and Redis
|
|
|
|
2. Launch the bungeecord start.bat file
|
|
|
|
|
|
|
|
====================================================================================================================
|
|
|
|
For the Build Server:
|
|
|
|
>>>Run the start.bat file located within mineplex-dev-spigot-map-parser
|
|
|
|
====================================================================================================================
|
|
|
|
COMMANDS:
|
|
|
|
|
|
|
|
To parse a map:
|
|
|
|
Place the world folder in mineplex-dev-spigot-map-parser/map/In Progress
|
2023-05-21 20:49:29 +00:00
|
|
|
Load the world via /map (name) (Game Type)
|
2023-05-20 23:10:56 +00:00
|
|
|
Note: this is the file name. Ensure that there are no spaces in the world folder's name
|
2023-05-21 20:49:29 +00:00
|
|
|
additionally, the Game Type parameter is optional unless more than one world name
|
|
|
|
is present between multiple gamemodes. If the map is placed under In Progress,
|
|
|
|
specify the Game Type parameter as "InProgress"
|
2023-05-20 23:10:56 +00:00
|
|
|
Once in the world, run /info
|
|
|
|
3 parameters will pop up in chat:
|
|
|
|
Map Name:
|
|
|
|
Author:
|
|
|
|
Game Type:
|
|
|
|
All 3 of these parameters must be populated to parse the map.
|
|
|
|
|
|
|
|
Map Name: /name (name)
|
|
|
|
Note: This name CAN have spaces
|
|
|
|
Author: /author (igns)
|
|
|
|
Note: You can list multiple authors with spaces
|
|
|
|
Game Type: /gametype (name)
|
|
|
|
Note: A list of valid game types will populate chat if you enter an invalid name
|
|
|
|
Running /gametype list will generate this list as no valid gametype "list" exists
|
|
|
|
(Weird, right?)
|
|
|
|
|
|
|
|
To parse the map:
|
|
|
|
Run /parse (radius)
|
|
|
|
Note: The default radius is 256 blocks (I think...). Leaving this parameter blank will run the parse
|
|
|
|
command at a radius of 256 blocks(?)
|
|
|
|
|
|
|
|
Upon running /parse, you will be sent back to the lobby
|
|
|
|
(It's the Mineplex pre-2017 hub, where they **BUTCHERED** the Mineplex tree)
|
|
|
|
|
|
|
|
Parsed maps will be sent to the specified directory listed in the config/yml file, and will be saved as a .zip
|
|
|
|
You will also be given a chat message confirming this directory
|
|
|
|
(you're welcome - yes, I added that myself... did you really think Mineplex could develop logical output logs??)
|
|
|
|
|
|
|
|
To send the parsed maps into the arcade server, simply drag/drop them into the directory listed by
|
|
|
|
the arcade's config/yml file.
|
|
|
|
Default: arcadeMapDirectory: update/maps/
|
|
|
|
|
|
|
|
====================================================================================================================
|
|
|
|
For the Arcade Server:
|
|
|
|
3. Run the start.bat file located within mineplex-dev-spigot-1
|
|
|
|
====================================================================================================================
|
|
|
|
COMMANDS:
|
|
|
|
|
|
|
|
If you've correctly setup the server as an MPS, you can select the game and map using the MPS menu
|
|
|
|
|
|
|
|
Otherwise, set a game via:
|
|
|
|
/game set (GameType) @m(MapName)
|
|
|
|
(I believe the MapName is the name of the map's folder, not the actual map's name as no spaces are permitted here)
|
|
|
|
|
|
|
|
Start a game via:
|
|
|
|
/game start
|
|
|
|
or
|
|
|
|
/game start (time to start - set to 0 for instant start)
|
|
|
|
|
|
|
|
You will need admin perms. No, running /op will not give you these perms
|
|
|
|
|
|
|
|
To give user(s) admin (or any other rank):
|
|
|
|
0. Ensure that they've logged in at least once
|
|
|
|
1. Go to the MySQL database
|
|
|
|
2. Go to the "account" database
|
|
|
|
3. Go to the "accounts" TABLE
|
|
|
|
4. Find the specified users' IGNs and UUIDs
|
|
|
|
If the yser has not logged in yet, you can find their UUID via online databases.
|
|
|
|
Specify an id value and copy in their UUID (long format - include all of the dashes)
|
|
|
|
under the "id" and "uuid" columns respectively
|
|
|
|
Specify their ign under the "name" column
|
|
|
|
5. Specify a valid rank under the "rank" column (eg. ADMIN)
|
|
|
|
--------------------------------------------------------------------------------------------------------------------
|
|
|
|
List of valid ranks:
|
|
|
|
ADMIN DEV LEGEND MOD QAT TITAN
|
|
|
|
BUILDER ETERNAL LT OWNER RC TRAINEE
|
|
|
|
CMA EVENTMOD MA PLAYER SRMOD TWITCH
|
|
|
|
CMOD FN MAPLEAD QA STM ULTRA
|
|
|
|
CONTENT HERO MAPPER QAM SUPPORT YOUTUBE
|
|
|
|
YT
|
|
|
|
--------------------------------------------------------------------------------------------------------------------
|
|
|
|
To give yourself level 100:
|
|
|
|
Run: /setlevel (ign) (value 0-100)
|
|
|
|
eg
|
|
|
|
/setlevel Lord_of_Creeper 100
|
|
|
|
====================================================================================================================
|