Minecraft - Setting up a Bungeecord network with Spigot

Post Reply
User avatar
LHammonds
Site Admin
Site Admin
Posts: 942
Joined: Fri Jul 31, 2009 6:27 pm
Are you a filthy spam bot?: No
Location: Behind You
Contact:

Minecraft - Setting up a Bungeecord network with Spigot

Post: # 378Post LHammonds »

Discussion for this tutorial can be found here: Spigot Forums

Want to setup a Bungeecord network of Minecraft servers using Spigot? This tutorial will show you how to do it.

We will setup a total of 4 servers which will be 1 proxy server (Bungeecord), 1 lobby server and 2 player servers.

These steps will produce a working network of servers and will be the operator (OP) on all of them. However, I recommend installing a permission plugin such as PermissionEx and controlling all permissions that way instead of using OP. This will be covered in a separate tutorial.

It is assumed that you will have a firewall which shields your Spigot servers from external access and forwards external traffic on port 25565 to your proxy (Bungeecord) server. These steps also ensure the Spigot servers are only accessible by the local machine (available only to Bungeecord)

NOTE: I am documenting this on a Windows 7 SP1 Ultimate Edition (64-bit) machine. Even though I am using Java 1.7.0_55, you can use any 1.7 or higher version and it will still work.

Prerequisites
  • Oracle Java JRE 1.7.0 Update 55 (64-bit)
  • Bungeecord Build #911
  • Spigot 1.7.9-R0.2 (just about any version really but each server needs to be the same version. Tested with build #1486)
  • Minecraft Client 1.7.9 (any version that somewhat matches the server you are running)
  • Notepad++ 6.6.3 (you can use the normal notepad but this is far superior and free)
Assumptions
  • Java is installed to the default folder: C:\Program Files\Java\jre7\bin
  • Your internal LAN IP address of your server is 192.168.1.10 (* Wherever you see this IP in this tutorial, change it to match your IP *)
  • Your In-Game-Name is HammondsLegacy (* Wherever you see this IGN in this tutorial, change it to match your IGN *)
Initial Setup
  1. Create the following folder structure:
    C:\Bungeecord\
    C:\Bungeecord\bc\
    C:\Bungeecord\server1\
    C:\Bungeecord\server2\
    C:\Bungeecord\server3\
  2. Download BungeeCord.jar and place it in C:\Bungeecord\bc\BungeeCord.jar
  3. Create the following file and place the contents inside it and save:
    C:\Bungeecord\bc\start-bc.bat

    Code: Select all

    @ECHO OFF
    SET RAM2USE=512
    CD /D C:\Bungeecord\bc\
    
    REM ** Look for a version of Java 7 that matches the OS (32-bit for 32-bit, 64-bit for 64-bit) **
    IF EXIST "%ProgramFiles%\Java\jre7\bin\java.exe" GOTO JAVA7DEFAULT
    
    REM ** Look for 32-bit version of Java 7 on 64-bit OS **
    IF EXIST "%ProgramFiles(x86)%\Java\jre7\bin\java.exe" GOTO JAVA732BIT
    
    REM ** Look for a version of Java 6 that matches the OS (32-bit for 32-bit, 64-bit for 64-bit) **
    IF EXIST "%ProgramFiles%\Java\jre6\bin\java.exe" GOTO JAVA6DEFAULT
    
    REM ** Look for 32-bit version of Java 6 on 64-bit OS **
    IF EXIST "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" GOTO JAVA632BIT
    
    :JAVA7DEFAULT
    REM ** This will execute if run on a 32-bit OS with a 32-bit version of Java 7 **
    REM ** This will execute if run on a 64-bit OS with a 64-bit version of Java 7 **
    "%ProgramFiles%\Java\jre7\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar BungeeCord.jar nogui
    GOTO DONE
    
    :JAVA732BIT
    REM ** This will execute if run on a 64-bit OS with only a 32-bit version of Java 7 **
    "%ProgramFiles(x86)%\Java\jre7\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar BungeeCord.jar nogui
    GOTO DONE
    
    :JAVA6DEFAULT
    REM ** This will execute if run on a 32-bit OS with a 32-bit version of Java 6 **
    REM ** This will execute if run on a 64-bit OS with a 64-bit version of Java 6 **
    "%ProgramFiles%\Java\jre6\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar BungeeCord.jar nogui
    GOTO DONE
    
    :JAVA632BIT
    REM ** This will execute if run on a 64-bit OS with only a 32-bit version of Java 6 **
    "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar BungeeCord.jar nogui
    GOTO DONE
    
    :DONE
    REM ** This will pause the screen so you can see any error messages after stopping the CraftBukkit server. **
    PAUSE
    
  4. Download Spigot-1.7.9-R0.2-SNAPSHOT.jar and place a copy of it in C:\Bungeecord\server1\Spigot-1.7.9-R0.2-SNAPSHOT.jar
  5. Rename Spigot-1.7.9-R0.2-SNAPSHOT.jar to server.jar
  6. Copy server.jar to the other 2 server folders (server2 and server3)
  7. Create the following file and place the contents inside it and save:
    C:\Bungeecord\server1\start-server.bat

    Code: Select all

    @ECHO OFF
    TITLE Server1
    SET RAM2USE=1024
    CD /D C:\Bungeecord\server1\
    
    REM ** Look for a version of Java 8 that matches the OS (32-bit for 32-bit, 64-bit for 64-bit) **
    IF EXIST "%ProgramFiles%\Java\jre8\bin\java.exe" GOTO JAVA8DEFAULT
    
    REM ** Look for 32-bit version of Java 8 on 64-bit OS **
    IF EXIST "%ProgramFiles(x86)%\Java\jre8\bin\java.exe" GOTO JAVA832BIT
    
    REM ** Look for a version of Java 7 that matches the OS (32-bit for 32-bit, 64-bit for 64-bit) **
    IF EXIST "%ProgramFiles%\Java\jre7\bin\java.exe" GOTO JAVA7DEFAULT
    
    REM ** Look for 32-bit version of Java 7 on 64-bit OS **
    IF EXIST "%ProgramFiles(x86)%\Java\jre7\bin\java.exe" GOTO JAVA732BIT
    
    REM ** Look for a version of Java 6 that matches the OS (32-bit for 32-bit, 64-bit for 64-bit) **
    IF EXIST "%ProgramFiles%\Java\jre6\bin\java.exe" GOTO JAVA6DEFAULT
    
    REM ** Look for 32-bit version of Java 6 on 64-bit OS **
    IF EXIST "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" GOTO JAVA632BIT
    
    :JAVA8DEFAULT
    REM ** This will execute if run on a 32-bit OS with a 32-bit version of Java 8 **
    REM ** This will execute if run on a 64-bit OS with a 64-bit version of Java 8 **
    "%ProgramFiles%\Java\jre8\bin\java.exe" -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA832BIT
    REM ** This will execute if run on a 64-bit OS with only a 32-bit version of Java 8 **
    "%ProgramFiles(x86)%\Java\jre8\bin\java.exe" -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA7DEFAULT
    REM ** This will execute if run on a 32-bit OS with a 32-bit version of Java 7 **
    REM ** This will execute if run on a 64-bit OS with a 64-bit version of Java 7 **
    "%ProgramFiles%\Java\jre7\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA732BIT
    REM ** This will execute if run on a 64-bit OS with only a 32-bit version of Java 7 **
    "%ProgramFiles(x86)%\Java\jre7\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA6DEFAULT
    REM ** This will execute if run on a 32-bit OS with a 32-bit version of Java 6 **
    REM ** This will execute if run on a 64-bit OS with a 64-bit version of Java 6 **
    "%ProgramFiles%\Java\jre6\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA632BIT
    REM ** This will execute if run on a 64-bit OS with only a 32-bit version of Java 6 **
    "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :DONE
    REM ** This will pause the screen so you can see any error messages after stopping the Minecraft server. **
    PAUSE
    
  8. Create the following file and place the contents inside it and save:
    C:\Bungeecord\server2\start-server.bat

    Code: Select all

    @ECHO OFF
    TITLE Server2
    SET RAM2USE=1024
    CD /D C:\Bungeecord\server2\
    
    REM ** Look for a version of Java 8 that matches the OS (32-bit for 32-bit, 64-bit for 64-bit) **
    IF EXIST "%ProgramFiles%\Java\jre8\bin\java.exe" GOTO JAVA8DEFAULT
    
    REM ** Look for 32-bit version of Java 8 on 64-bit OS **
    IF EXIST "%ProgramFiles(x86)%\Java\jre8\bin\java.exe" GOTO JAVA832BIT
    
    REM ** Look for a version of Java 7 that matches the OS (32-bit for 32-bit, 64-bit for 64-bit) **
    IF EXIST "%ProgramFiles%\Java\jre7\bin\java.exe" GOTO JAVA7DEFAULT
    
    REM ** Look for 32-bit version of Java 7 on 64-bit OS **
    IF EXIST "%ProgramFiles(x86)%\Java\jre7\bin\java.exe" GOTO JAVA732BIT
    
    REM ** Look for a version of Java 6 that matches the OS (32-bit for 32-bit, 64-bit for 64-bit) **
    IF EXIST "%ProgramFiles%\Java\jre6\bin\java.exe" GOTO JAVA6DEFAULT
    
    REM ** Look for 32-bit version of Java 6 on 64-bit OS **
    IF EXIST "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" GOTO JAVA632BIT
    
    :JAVA8DEFAULT
    REM ** This will execute if run on a 32-bit OS with a 32-bit version of Java 8 **
    REM ** This will execute if run on a 64-bit OS with a 64-bit version of Java 8 **
    "%ProgramFiles%\Java\jre8\bin\java.exe" -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA832BIT
    REM ** This will execute if run on a 64-bit OS with only a 32-bit version of Java 8 **
    "%ProgramFiles(x86)%\Java\jre8\bin\java.exe" -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA7DEFAULT
    REM ** This will execute if run on a 32-bit OS with a 32-bit version of Java 7 **
    REM ** This will execute if run on a 64-bit OS with a 64-bit version of Java 7 **
    "%ProgramFiles%\Java\jre7\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA732BIT
    REM ** This will execute if run on a 64-bit OS with only a 32-bit version of Java 7 **
    "%ProgramFiles(x86)%\Java\jre7\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA6DEFAULT
    REM ** This will execute if run on a 32-bit OS with a 32-bit version of Java 6 **
    REM ** This will execute if run on a 64-bit OS with a 64-bit version of Java 6 **
    "%ProgramFiles%\Java\jre6\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA632BIT
    REM ** This will execute if run on a 64-bit OS with only a 32-bit version of Java 6 **
    "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :DONE
    REM ** This will pause the screen so you can see any error messages after stopping the Minecraft server. **
    PAUSE
    
  9. Create the following file and place the contents inside it and save:
    C:\Bungeecord\server3\start-server.bat

    Code: Select all

    @ECHO OFF
    TITLE Server3
    SET RAM2USE=1024
    CD /D C:\Bungeecord\server3\
    
    REM ** Look for a version of Java 8 that matches the OS (32-bit for 32-bit, 64-bit for 64-bit) **
    IF EXIST "%ProgramFiles%\Java\jre8\bin\java.exe" GOTO JAVA8DEFAULT
    
    REM ** Look for 32-bit version of Java 8 on 64-bit OS **
    IF EXIST "%ProgramFiles(x86)%\Java\jre8\bin\java.exe" GOTO JAVA832BIT
    
    REM ** Look for a version of Java 7 that matches the OS (32-bit for 32-bit, 64-bit for 64-bit) **
    IF EXIST "%ProgramFiles%\Java\jre7\bin\java.exe" GOTO JAVA7DEFAULT
    
    REM ** Look for 32-bit version of Java 7 on 64-bit OS **
    IF EXIST "%ProgramFiles(x86)%\Java\jre7\bin\java.exe" GOTO JAVA732BIT
    
    REM ** Look for a version of Java 6 that matches the OS (32-bit for 32-bit, 64-bit for 64-bit) **
    IF EXIST "%ProgramFiles%\Java\jre6\bin\java.exe" GOTO JAVA6DEFAULT
    
    REM ** Look for 32-bit version of Java 6 on 64-bit OS **
    IF EXIST "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" GOTO JAVA632BIT
    
    :JAVA8DEFAULT
    REM ** This will execute if run on a 32-bit OS with a 32-bit version of Java 8 **
    REM ** This will execute if run on a 64-bit OS with a 64-bit version of Java 8 **
    "%ProgramFiles%\Java\jre8\bin\java.exe" -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA832BIT
    REM ** This will execute if run on a 64-bit OS with only a 32-bit version of Java 8 **
    "%ProgramFiles(x86)%\Java\jre8\bin\java.exe" -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA7DEFAULT
    REM ** This will execute if run on a 32-bit OS with a 32-bit version of Java 7 **
    REM ** This will execute if run on a 64-bit OS with a 64-bit version of Java 7 **
    "%ProgramFiles%\Java\jre7\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA732BIT
    REM ** This will execute if run on a 64-bit OS with only a 32-bit version of Java 7 **
    "%ProgramFiles(x86)%\Java\jre7\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA6DEFAULT
    REM ** This will execute if run on a 32-bit OS with a 32-bit version of Java 6 **
    REM ** This will execute if run on a 64-bit OS with a 64-bit version of Java 6 **
    "%ProgramFiles%\Java\jre6\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :JAVA632BIT
    REM ** This will execute if run on a 64-bit OS with only a 32-bit version of Java 6 **
    "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" -XX:MaxPermSize=128M -Xmx%RAM2USE%M -Xms%RAM2USE%M -jar server.jar nogui
    GOTO DONE
    
    :DONE
    REM ** This will pause the screen so you can see any error messages after stopping the Minecraft server. **
    PAUSE
    
  10. Double-click the start-bc.bat batch file in the "bc" folder and let Bungeecord initialize. Once it is done loading and says "Listening" then type "end" to shutdown the proxy server.
  11. Go through each of the server folders (one at a time) and double-click the start-server.bat batch file and let the server initialize. Once it says "Done" then type "stop" to shutdown the server. Then move onto the next server and do the same thing (do not start all of them at once yet)
  12. Edit bc\config.yml with Notepad++ and change the following values:

    Code: Select all

    groups:
      HammondsLegacy:
      - admin
    disabled_commands:
    - disabledcommandhere
    player_limit: -1
    stats: b712d64e-39a1-417d-977e-5d5c50132590
    permissions:
      default:
      - bungeecord.command.server
      - bungeecord.command.list
      admin:
      - bungeecord.command.alert
      - bungeecord.command.end
      - bungeecord.command.ip
      - bungeecord.command.reload
    listeners:
    - max_players: 1000
      fallback_server: server2
      host: 192.168.1.10:25565
      bind_local_address: true
      ping_passthrough: false
      tab_list: GLOBAL_PING
      default_server: server1
      forced_hosts:
        pvp.md-5.net: pvp
      tab_size: 60
      force_default_server: false
      motd: '&1Another Bungee server'
      query_enabled: false
      query_port: 25577
    timeout: 30000
    connection_throttle: 4000
    servers:
      server1:
        address: 127.0.0.1:25581
        restricted: false
        motd: '&dBungee&5Craft &fServer 1'
      server2:
        address: 127.0.0.1:25582
        restricted: false
        motd: '&dBungee&5Craft &fServer 2'
      server3:
        address: 127.0.0.1:25583
        restricted: false
        motd: '&dBungee&5Craft &fServer 3'
    ip_forward: true
    online_mode: true
    
  13. Edit server1\server.properties with Notepad++ and copy/paste the following into it:

    Code: Select all

    #Minecraft server properties
    #Sun Jun 01 13:38:57 CDT 2014
    generator-settings=
    op-permission-level=4
    allow-nether=true
    level-name=world
    enable-query=false
    allow-flight=false
    announce-player-achievements=true
    server-port=25581
    level-type=DEFAULT
    enable-rcon=false
    level-seed=-1339183346
    force-gamemode=false
    server-ip=127.0.0.1
    max-build-height=256
    spawn-npcs=true
    white-list=false
    spawn-animals=true
    hardcore=false
    snooper-enabled=false
    online-mode=false
    resource-pack=
    pvp=true
    difficulty=1
    enable-command-block=false
    gamemode=0
    player-idle-timeout=0
    max-players=20
    spawn-monsters=true
    generate-structures=true
    view-distance=9
    motd=Server1
    
  14. Edit server2\server.properties with Notepad++ and copy/paste the following into it:

    Code: Select all

    #Minecraft server properties
    #Sun Jun 01 13:39:40 CDT 2014
    generator-settings=
    op-permission-level=4
    allow-nether=true
    level-name=world
    enable-query=false
    allow-flight=false
    announce-player-achievements=true
    server-port=25582
    level-type=DEFAULT
    enable-rcon=false
    level-seed=1660196624
    force-gamemode=false
    server-ip=127.0.0.1
    max-build-height=256
    spawn-npcs=true
    white-list=false
    spawn-animals=true
    hardcore=false
    snooper-enabled=false
    online-mode=false
    resource-pack=
    pvp=true
    difficulty=1
    enable-command-block=false
    gamemode=0
    player-idle-timeout=0
    max-players=20
    spawn-monsters=true
    generate-structures=true
    view-distance=9
    motd=Server2
    
  15. Edit server3\server.properties with Notepad++ and copy/paste the following into it:

    Code: Select all

    #Minecraft server properties
    #Sun Jun 01 13:40:22 CDT 2014
    generator-settings=
    op-permission-level=4
    allow-nether=true
    level-name=world
    enable-query=false
    allow-flight=false
    announce-player-achievements=true
    server-port=25583
    level-type=DEFAULT
    enable-rcon=false
    level-seed=-529234241
    force-gamemode=false
    server-ip=127.0.0.1
    max-build-height=256
    spawn-npcs=true
    white-list=false
    spawn-animals=true
    hardcore=false
    snooper-enabled=false
    online-mode=false
    resource-pack=
    pvp=true
    difficulty=1
    enable-command-block=false
    gamemode=0
    player-idle-timeout=0
    max-players=20
    spawn-monsters=true
    generate-structures=true
    view-distance=9
    motd=Server3
    
  16. Edit server1\spigot.yml with Notepad++ and change the following values:

    Code: Select all

    bungeecord: true
    
  17. Edit server2\spigot.yml with Notepad++ and change the following values:

    Code: Select all

    bungeecord: true
    
  18. Edit server3\spigot.yml with Notepad++ and change the following values:

    Code: Select all

    bungeecord: true
    
  19. Edit server1\bukkit.yml with Notepad++ and change the following values:

    Code: Select all

      connection-throttle: -1
    auto-updater:
      enabled: false
    
  20. Edit server2\bukkit.yml with Notepad++ and change the following values:

    Code: Select all

      connection-throttle: -1
    auto-updater:
      enabled: false
    
  21. Edit server3\bukkit.yml with Notepad++ and change the following values:

    Code: Select all

      connection-throttle: -1
    auto-updater:
      enabled: false
    
  22. Delete the "world," "world_nether" and "world_the_end" folders located in each of the server folders (server1, server2, server3)
  23. Start each server using start-server.bat and it will generate a new world using the new level seed you configured. You can start and run all 3 right now.
  24. Open Minecraft client, click on Multiplayer and add the address of your Bungeecord/Proxy server. 192.168.1.10:25565 NOTE: Using "localhost" or "127.0.0.1" will not work because the server is only listening on the Host IP address we configured in bc\config.yml
  25. Once you see the server in your list, you should see 0/1000 which is the bogus max player limit set in bc\config.yml. When you connect to the server, Bungeecord will authenticate your account and then try to forward you to the primary server (server1) and if it cannot connect to it, it will then try the secondary fallback server (server2).
  26. You should see in server1's console that you got connected. On that console, type "op YourInGameName" (example: OP HammondsLegacy)
  27. You can now go back to your Minecraft client and type "/gamemode 1" to enter Creative Mode.
  28. Type "/server" and it should show you a list of all your servers.
  29. Type "/server server2" and you should jump onto your 2nd server and can verify this on server2's console window.
  30. On server2 console, type "op YourInGameName" (example: OP HammondsLegacy)
  31. You can now go back to your Minecraft client and type "/gamemode 1" to enter Creative Mode.
  32. Type "/server server3" and you should jump onto your 3rd server and can verify this on server3's console window.
  33. On server3 console, type "op YourInGameName" (example: OP HammondsLegacy)
  34. You can now go back to your Minecraft client and type "/gamemode 1" to enter Creative Mode.
  35. Disconnect from the server and close Minecraft client. On each of the server consoles (server1, server2, server3), type "stop" to shut it down cleanly.
  36. On the Bungeecord console, type "end" to shut it down cleanly.
Maintenance

It is recommended that you shutdown Minecraft servers and reboot the host operating system at least once per day to keep performance levels at maximum. Make sure you issue the "stop" command on the Spigot server consoles and "end" on the Bungeecord console before rebooting the server to avoid corrupting data files.

It is also recommended to make automated backups at regular intervals. The are many methods and tools you can use for automating these tasks. But the main idea is that you can do your backups while the server is still running by making a "snapshot" of the data as it is running. To do this, issue the following commands on the console:

Code: Select all

say [INFO] Backup started
save-off
save-all
The 1st line lets your currently connected players know that a backup is being made right now. The next line turns off automatic world-saving. The last line has Minecraft write its data in memory to the hard drive.

Once this has been done, you can then copy or synchronize C:\Bungeecord\server1\*.* (and server2, server3) to a backup folder. When done copying files, issue the following commands on the console:

Code: Select all

say [INFO] Backup completed
save-on
The 1st line lets your currently connected players know that the backup has completed. The last line tells Minecraft it can take over and write to the hard drive anytime it wants.

NOTE: The Bungeecord/Proxy server does not have changing data other than log files so you can get away with just making a backup after making any changes to Bungeecord.

Now that you have a copy of your currently-running servers in a backup folder, you can then take your time and archive that folder using a program like 7-Zip to compress the contents of that folder and all the sub-folders into a single archive. This will preserve a snapshot of that server at that time even if you refresh the backup folder again with another backup/sync job. How many of these archives you keep is up to you and how much space you have on your system. You might want another job that runs and purges / deletes the older archives based on an age or size you specify.
User avatar
LHammonds
Site Admin
Site Admin
Posts: 942
Joined: Fri Jul 31, 2009 6:27 pm
Are you a filthy spam bot?: No
Location: Behind You
Contact:

Re: Minecraft - Setting up a Bungeecord network with Spigot

Post: # 380Post LHammonds »

If you wish to remove a server from a Bungeecord network, follow these steps:
  1. Edit Bungeecord's config.yml file and remove the reference to that server in the "servers:" section. Might also check the "forced_hosts:" section and ensure it is not set as "default_server" or "fallback_server"
  2. Edit the server's spigot.yml file and change "bungeecord:" to false
  3. Edit the server's bukkit.yml file and change "connection-throttle:" from -1 to 4000 if you modified that variable in the 1st place.
  4. Edit the server's server.properties file and change "online-mode" to true (might need to adjust the server-port but depends on your situation). Also change "server-ip" from 127.0.0.1 (or whatever it is) and set it blank. The server's IP and port will need to setup on your router/firewall (e.g. port forwarding)
  5. If you have plugins that share common databases, you might want to separate them (e.g. chat-to-mysql, ban management-to-mysql, etc.) by either setting up separate databases and starting over or duplicating the info...up to you.
  6. On your lobby server or other servers in the network, if you have portals, aliases, warps, signs that reference that server, you need to dismantle them.
Post Reply