Mineplex/README.txt

316 lines
13 KiB
Plaintext
Raw Normal View History

====================================================================================================================
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
>>>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
Load the world via /map (name)
Note: this is the file name. Ensure that there are no spaces in the world folder's name
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
====================================================================================================================