Realms & Glinkd Ports

Results 1 to 1 of 1
  1. #1
    Valued Member Mistigri is offline
    MemberRank
    Oct 2020 Join Date
    Forsaken WorldLocation
    120Posts

    Realms & Glinkd Ports

    I am sharing some Server side knowledge I previously discussed with my friends.
    I wouldn't be able to figure it out without their precious help.

    ----Start.sh for Forsaken World Server 260 loading all Realms.
    Code:
    #!/bin/sh
    
    FW_PATH=/server-fw
    
    if [ ! -d $FW_PATH/logs ]; then
    mkdir $FW_PATH/logs
    fi
    cat /dev/null > $FW_PATH/logs/syslog
    
    echo "===============================================================" | tee -a $FW_PATH/logs/syslog
    echo "=             STARTING Forsaken World Server                  =" | tee -a $FW_PATH/logs/syslog
    echo "=             SERVER LOADING WILL TAKE SOME TIME              =" | tee -a $FW_PATH/logs/syslog
    echo "===============================================================" | tee -a $FW_PATH/logs/syslog
    date | tee -a $FW_PATH/logs/syslog
    
    echo "=== LOGSERVICE ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/logservice; ./logservice logservice.conf > $FW_PATH/logs/logservice.log 2>> $FW_PATH/logs/syslog &
    sleep 3
    echo "=== DONE! ===" | tee -a $FW_PATH/logs/syslog
    echo "" | tee -a $FW_PATH/logs/syslog
    
    
    echo "Starting Unique Name Daemon... " | tee -a $FW_PATH/logs/syslog
    echo "=== UNIQUENAMED ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/uniquenamed; ./uniquenamed gamesys.conf > $FW_PATH/logs/uniquenamed.log 2>> $FW_PATH/logs/syslog &
    sleep 3
    echo "=== DONE! ===" | tee -a $FW_PATH/logs/syslog
    echo "" | tee -a $FW_PATH/logs/syslog
    
    
    echo "=== AUTH ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/authd/; ./authd.sh >> $FW_PATH/logs/authd.log 2>&1 &
    sleep 1
    echo "=== DONE! ===" | tee -a $FW_PATH/logs/syslog
    echo "" | tee -a $FW_PATH/logs/syslog
    
    echo "Starting Game Database Daemon... " | tee -a $FW_PATH/logs/syslog
    echo "=== GAMEDBD ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamedbd; ./gamedbd gamesys.conf > $FW_PATH/logs/gamedbd.log 2>> $FW_PATH/logs/syslog &
    sleep 5
    echo "=== DONE! ===" | tee -a $FW_PATH/logs/syslog
    echo "" | tee -a $FW_PATH/logs/syslog
    
    
    echo "Starting Backup Database Daemon... " | tee -a $FW_PATH/logs/syslog
    echo "=== BACKDBD ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/backdbd; ./backdbd gamesys.conf > $FW_PATH/logs/backdbd.log 2>> $FW_PATH/logs/syslog &
    sleep 5
    echo "=== DONE! ===" | tee -a $FW_PATH/logs/syslog
    echo "" | tee -a $FW_PATH/logs/syslog
    
    
    echo "Starting Game Anti-Cheat Daemon... " | tee -a $FW_PATH/logs/syslog
    echo "=== GACD ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gacd; ./gacd gamesys.conf > $FW_PATH/logs/gacd.log 2>> $FW_PATH/logs/syslog &
    sleep 5
    echo "=== DONE! ===" | tee -a $FW_PATH/logs/syslog
    echo "" | tee -a $FW_PATH/logs/syslog
    
    
    echo "Starting Game Query Daemon... " | tee -a $FW_PATH/logs/syslog
    echo "=== GQUERYD ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gqueryd; ./gqueryd gamesys.conf > $FW_PATH/logs/gqueryd.log 2>> $FW_PATH/logs/syslog &
    sleep 5
    echo "=== DONE! ===" | tee -a $FW_PATH/logs/syslog
    echo "" | tee -a $FW_PATH/logs/syslog
    
    
    echo "Starting Game Delivery Daemon... " | tee -a $FW_PATH/logs/syslog
    echo "=== GDELIVERYD ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gdeliveryd; ./gdeliveryd gamesys.conf > $FW_PATH/logs/gdeliveryd.log 2>> $FW_PATH/logs/syslog &
    sleep 5
    echo "=== DONE! ===" | tee -a $FW_PATH/logs/syslog
    echo "" | tee -a $FW_PATH/logs/syslog
    
    
    echo "Starting Game Link Daemon... " | tee -a $FW_PATH/logs/syslog
    echo "=== GLINKD ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/glinkd; ./glinkd gamesys.conf 1 > $FW_PATH/logs/glink.log 2>> $FW_PATH/logs/syslog &
    #cd $FW_PATH/glinkd; ./glinkd gamesys.conf 2 > $FW_PATH/logs/glink2.log 2>> $FW_PATH/logs/syslog &
    #cd $FW_PATH/glinkd; ./glinkd gamesys.conf 3 > $FW_PATH/logs/glink3.log 2>> $FW_PATH/logs/syslog &
    #cd $FW_PATH/glinkd; ./glinkd gamesys.conf 4 > $FW_PATH/logs/glink4.log 2>> $FW_PATH/logs/syslog &
    sleep 5
    echo "=== DONE! ===" | tee -a $FW_PATH/logs/syslog
    echo "" | tee -a $FW_PATH/logs/syslog
    
    
    echo "Starting Realms... " | tee -a $FW_PATH/logs/syslog
    echo "=== Realm #1 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias.conf > $FW_PATH/logs/game.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #2 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias2.conf > $FW_PATH/logs/game2.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #3 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias3.conf > $FW_PATH/logs/game3.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #4 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias4.conf > $FW_PATH/logs/game4.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #5 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias5.conf > $FW_PATH/logs/game5.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #6 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias6.conf > $FW_PATH/logs/game6.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #7 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias7.conf > $FW_PATH/logs/game7.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #8 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias8.conf > $FW_PATH/logs/game8.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #9 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias9.conf > $FW_PATH/logs/game9.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #10 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias10.conf > $FW_PATH/logs/game10.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #11 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias11.conf > $FW_PATH/logs/game11.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #12 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias12.conf > $FW_PATH/logs/game12.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #13 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias13.conf > $FW_PATH/logs/game13.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #14 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias14.conf > $FW_PATH/logs/game14.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Realm #15 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias15.conf > $FW_PATH/logs/game15.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== KBattle===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias_kbattle.conf.conf > $FW_PATH/logs/game_KBattle.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Instance 1 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias_ins1.conf > $FW_PATH/logs/game_Instance1.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Instance 2 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias_ins2.conf > $FW_PATH/logs/game_Instance2.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    
    echo "=== Instance 3 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias_ins3.conf > $FW_PATH/logs/game_Instance3.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    
    echo "=== Solo 1 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias_solo1.conf> $FW_PATH/logs/game_Solo1.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Solo 2 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias_solo2.conf > $FW_PATH/logs/game_Solo2.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== Solo 3 ===" | tee -a $FW_PATH/logs/syslog
    cd $FW_PATH/gamed; ./gs gs.conf gmserver.conf gsalias_solo3.conf > $FW_PATH/logs/game_Solo3.log 2>> $FW_PATH/logs/syslog &
    sleep 2
    
    echo "=== DONE! ===" | tee -a $FW_PATH/logs/syslog
    systemctl restart tomcat
    
    echo "===============================================================" | tee -a $FW_PATH/logs/syslog
    echo "=                      ALL REALMS LOADED!                     =" | tee -a $FW_PATH/logs/syslog
    echo "=                 SERVERS ARE UP AND RUNNING!                 =" | tee -a $FW_PATH/logs/syslog
    echo "===============================================================" | tee -a $FW_PATH/logs/syslog
    ----Change Realm name?
    We can edit the realm names in /server-fw/gamed in configuration files
    Example= Open gsalias2.conf with Notepad++
    Code:
    [Identify]
    ServerID = 2
    Name = Realm 2
    
    [SpawnController]
    disable = 210 211 212 213 214 217 222 223 224 225 226 227 228 542 543 544 545 546 547 548 549 551 909 20016 20017 20018 20019 20020 20021 20024 20028 20032 20036 20040 20044 20025 20029 20033 20037 20041 20045 20026 20030 20034 20038 20042 20046


    ----Use multiple Glinkd Ports:
    Each of the different glinkd uses a different port for the client connection.
    Perhaps having more than one running has the same effect as running more realms for less lag?
    Glinkd port may have a limit related to the number of players that can login at a time.
    Having more ports may facilitate client connection.

    Code:
    cd $FW_PATH/glinkd; ./glinkd gamesys.conf 1 > $FW_PATH/logs/glink.log 2>> $FW_PATH/logs/syslog &
    cd $FW_PATH/glinkd; ./glinkd gamesys.conf 2 > $FW_PATH/logs/glink2.log 2>> $FW_PATH/logs/syslog &
    cd $FW_PATH/glinkd; ./glinkd gamesys.conf 3 > $FW_PATH/logs/glink3.log 2>> $FW_PATH/logs/syslog &
    cd $FW_PATH/glinkd; ./glinkd gamesys.conf 4 > $FW_PATH/logs/glink4.log 2>> $FW_PATH/logs/syslog &
    ----Conclusion:
    The following realms are used for Bloodharvest(260) and consume around 2 gb RAM per Realm:
    -15 Realms (Realm 1 ,Realm 2, ... ,Realm 15) Example= gsalias.conf
    -1 KBattle Realm for Guild Rift
    -3 Solo Realms for Solo instances such as Hell Road,Lionheart Camps Example= gsalias_solo1.conf
    -3 Instance Realms are used for Dungeons Example= gsalias_ins1.conf

    ->I'd say that as you are playing alone in v260,you will likely need Realm 2 for Crucible Warden AND Realm 5 for PvP Bosses.

    ->Retail has always been using 10 Realms.In reality,we don't need to use 15 Realms for Bloodharvest.

    ->Retail is running 4 more realms 12/13/14/15 for Vengeance Maps.

    ->We can adjust Maps on elements to use one of the 10 Realms through the Configuration structure MAP_TO_SERVER_LINE_CONFIG in FW2 versions.





Advertisement