==================================================================================================================== 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 ==================================================================================================================== 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 >>>Once finished, run the xampp_start.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 | `-._ `._ / _.-' | 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: 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: : >>>Run start.bat ARCADE PLUGIN (MINIGAMES): -------------------------- >>>Open mineplex-dev-spigot-1 >>>Modify redis-config.dat: >Set: 6379 MASTER DefaultConnection 6379 SLAVE ServerStatus 6379 SLAVE globalMotd 6379 SLAVE 6379 SLAVE 6379 SLAVE 6379 SLAVE 6379 SLAVE 6379 SLAVE 6379 SLAVE 6379 SLAVE 6379 SLAVE 6379 SLAVE 6379 SLAVE IMPORTANT: 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 :/account root root QUEUE :/queue root root MINEPLEX :/mineplex root root MINEPLEX_STATS :/mineplex root root PLAYER_STATS :/stats root root SERVER_STATS :/stats root root MSSQL_MOCK :/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: 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: \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 ====================================================================================================================