Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server > Metin2 PServer Guides & Strategies
You last visited: Today at 08:39

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[HowTO]Laggfreien Stabiler sicherer(!) Server bis > 1000 Spieler (mehr nicht tested)

Discussion on [HowTO]Laggfreien Stabiler sicherer(!) Server bis > 1000 Spieler (mehr nicht tested) within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1

 
iMer's Avatar
 
elite*gold: 606
Join Date: Apr 2008
Posts: 3,180
Received Thanks: 5,376
[HowTO]Laggfreien Stabiler sicherer(!) Server bis > 1000 Spieler (mehr nicht tested)

Ich zeige euch jetzt wie ihr einen wirklich Laggfreien Server machen könnt, der locker 1000 Spieler aushält
Ich tippe auf 5k+ Spieler ohne Laggs wenn sie sich gleichmäßig verteilen :P
ok let'z go!

Ihr müsst die Server einfach anhand dieser Skizze aufbauen (+optional die Mapverteilung von Final)


Das hat natürlich den Vorteil niemand außer ihr selbst kennt die IP von MySQL Server
Nun deaktiviert ihr das Fehleranzeige auf eurer Homepage mit "error_reporting(0);" (PHP) damit niemand durch eine Fehlermeldung falls der MySQL Server offline sein sollte die IP rausfinden kann.
Als nächstes wechseln wir den ssh Port
Ihr ändert dazu in der sshd_config unter /etc/ssh
#Port 22
zu
Port *EUER PORT*
und *EUER PORT* natürlich durch euren Port ersetzen
Dann könnt ihr per Filezilla nur über den neuen Port connecten

Zum MySQL Server:
obwohl es s ziemlich unmöglich ist die IP rauszufinden - am besten nur User eingeschränkten Hosts verwenden ist sicherer
(c)NW2
iMer & Downi
Edit:
So für die die es nicht verstehen eine kleine Erklärung.
Als erstes setzen wir uns an den Ch1 Root drann
Packt ihr die Sf drauf und entpackt sie ganz normal
Als IP nehmen wir mal die 192.168.0.1.
Nun setzt ihr den MySQL - Server auf
Als IP nehmen wir 192.168.0.2
Ich fasse zusammen:
Ch1 192.168.0.1
MySQL 192.168.0.2
Nun erstellt ihr einen MySQL User:
Nehmen wir mal [email protected] und als Passwort Ch1
Es ist wichtig , dass wirlich nur von dem Host 192.168.0.1 connectet werden kann!
Nun setzen wir uns an die Serverfiles
In jedem "game","auth" oder "db" Ordner finded ihr eine Config
Bei game und auth ist das "CONFIG" und bei db ist es conf.txt
Wenn wir sie öffnet sieht es so aus: (Als beispiel nehme ich mal die CONFIG aus game1_1)
PHP Code:
HOSTNAMEgame1_1
CHANNEL
1
PORT
7001
P2P_PORT
8001
DB_PORT
15001
DB_ADDR
localhost
MAP_ALLOW
:  1
TABLE_POSTFIX
:  
ITEM_ID_RANGE100000001 150000000
PASSES_PER_SEC
25
SAVE_EVENT_SECOND_CYCLE
180
PING_EVENT_SECOND_CYCLE
180
PLAYER_SQL
localhost mt2 mt2!@# player
COMMON_SQLlocalhost mt2 mt2!@# common
LOG_SQLlocalhost mt2 mt2!@# log
#TEST_SERVER: 1 
pk_server
Das einzige was uns erstmal interresiert ist:
PHP Code:
PLAYER_SQLlocalhost mt2 mt2!@# player
COMMON_SQLlocalhost mt2 mt2!@# common
LOG_SQLlocalhost mt2 mt2!@# log 
Dort sind die MySQL Daten angegeben
Also müssen wir sie nurnoch ändern sodass die Datei zum MySQL Server connecten kann:
PHP Code:
PLAYER_SQL192.168.0.2 channel1 Ch1 player
COMMON_SQL
192.168.0.2 channel1 Ch1 common
LOG_SQL
192.168.0.2 channel1 Ch1 log 
Dies müssen wir jetzt nurnoch mit den anderen CONFIG's machen die ihr (wenn ihr die Standart Serverfiles habt) unter:
PHP Code:
game/channel/first
game
/channel/game1_1
game
/channel/game1_2
game
/channel/game1_3
game
/channel/game2
game
/channel/game61
game
/auth 
findet

Nun fragt ihr euch bestimmt "der hat doch am anfang nochwas von db gelabert oder?"
Richtig!
Die config ist ein wenig anders aufgebaut:
PHP Code:
WELCOME_MSG "DB Server has been started"

SQL_ACCOUNT "localhost account mt2 mt2!@# 0"
SQL_PLAYER "localhost player mt2 mt2!@# 0"
SQL_COMMON "localhost common mt2 mt2!@# 0"
SQL_HOTBACKUP "localhost hotbackup mt2 mt2!@# 0"

TABLE_POSTFIX ""

BIND_PORT               15001
DB_SLEEP_MSEC           
10
CLIENT_HEART_FPS        
25
HASH_PLAYER_LIFE_SEC    
600
BACKUP_LIMIT_SEC        
3600
PLAYER_ID_START 
100
PLAYER_DELETE_LEVEL_LIMIT 
70

ITEM_ID_RANGE 
70000001 100000000 
LOCALE 
big5 
Es interresieren uns wieder nur die MySQL Daten:
PHP Code:
SQL_ACCOUNT "localhost account mt2 mt2!@# 0"
SQL_PLAYER "localhost player mt2 mt2!@# 0"
SQL_COMMON "localhost common mt2 mt2!@# 0"
SQL_HOTBACKUP "localhost hotbackup mt2 mt2!@# 0" 
Die wir wieder anpassen:
PHP Code:
SQL_ACCOUNT "192.168.0.2 account channel1 Ch1 0"
SQL_PLAYER "192.168.0.2 player channel1 Ch1 0"
SQL_COMMON "192.168.0.2 common channel1 Ch1 0"
SQL_HOTBACKUP "192.168.0.2 hotbackup channel1 Ch1 0" 
Wenn wir das alles gemacht haben sind wir mit Channel1, auth (Loginserver) und db fertig.

Nun laden wir die Serverfiles auf den Ch2 Root hoch (Als IP nehmen wir die 192.168.0.3) und erstellen einen weiteren MySQL User:
[email protected] mit dem Passwort: Ch2
Da wir auf Channel1 schon den Login und Db server haben brauchen wir diese nicht mehr
Folglch müssen wir die start.sh bearbeiten:
PHP Code:
#!/bin/sh
sh db_auth.sh &
sleep 3
sh game
.sh &
sleep 3 
Wir löschen einfach den eintrag zur db_auth.sh:
PHP Code:
#!/bin/sh
sh game.sh &
sleep 3 
So jetzt startet nurnoch der Channel an sich.
Diesmal ist das CONFIG anpassen etwas schwieriger, da ihr neben dem ändern der MySQL Daten noch den Channel verändern müsst.
Wir haben wieder unsere Standart CONFIG und ändern wieder die MySQL Daten:
PHP Code:
HOSTNAMEgame1_1
CHANNEL
1
PORT
7001
P2P_PORT
8001
DB_PORT
15001
DB_ADDR
localhost
MAP_ALLOW
:  1
TABLE_POSTFIX
:  
ITEM_ID_RANGE100000001 150000000
PASSES_PER_SEC
25
SAVE_EVENT_SECOND_CYCLE
180
PING_EVENT_SECOND_CYCLE
180
PLAYER_SQL
192.168.0.2 channel2 Ch2 player
COMMON_SQL
192.168.0.2 channel2 Ch2 common
LOG_SQL
192.168.0.2 channel2 Ch2 log
#TEST_SERVER: 1 
pk_server
Da db nichtmehr unter localhost zu finden ist müssen wir hier auch die IP ändern:
PHP Code:
HOSTNAMEgame1_1
CHANNEL
1
PORT
7001
P2P_PORT
8001
DB_PORT
15001
DB_ADDR
192.168.0.1
MAP_ALLOW
:  1
TABLE_POSTFIX
:  
ITEM_ID_RANGE100000001 150000000
PASSES_PER_SEC
25
SAVE_EVENT_SECOND_CYCLE
180
PING_EVENT_SECOND_CYCLE
180
PLAYER_SQL
192.168.0.2 channel2 Ch2 player
COMMON_SQL
192.168.0.2 channel2 Ch2 common
LOG_SQL
192.168.0.2 channel2 Ch2 log
#TEST_SERVER: 1 
pk_server
So
Damit wären die MySQL & db verbindungen fertig
Das Problem ist:
Bis jetzt ist das alles noch Channel1 und hat die gleichen Itemrages
Das müssen wir auch anpassen
Als erstes machen wir den Channel:
PHP Code:
HOSTNAMEgame1_1
CHANNEL
2
PORT
7001
P2P_PORT
8001
DB_PORT
15001
DB_ADDR
localhost
MAP_ALLOW
:  1
TABLE_POSTFIX
:  
ITEM_ID_RANGE100000001 150000000
PASSES_PER_SEC
25
SAVE_EVENT_SECOND_CYCLE
180
PING_EVENT_SECOND_CYCLE
180
PLAYER_SQL
192.168.0.2 channel2 Ch2 player
COMMON_SQL
192.168.0.2 channel2 Ch2 common
LOG_SQL
192.168.0.2 channel2 Ch2 log
#TEST_SERVER: 1 
pk_server
Und jetzt die Itemrages
Um herauszufinden, welche Itemrage ihr nehmen könnt, die noch nicht belegt ist, guckt ihr die CONFIG's aus Channel1 durch und sucht nach der höchtes Rage.
In meinem fall ist es 300000001 350000000
Ein game braucht immer ca. 50000000 ID's Itemrage
Also Rechnen wir 50000000 dazu und tragen die neue Itemrage ein
PHP Code:
HOSTNAMEgame1_1
CHANNEL
2
PORT
7001
P2P_PORT
8001
DB_PORT
15001
DB_ADDR
localhost
MAP_ALLOW
:  1
TABLE_POSTFIX
:  
ITEM_ID_RANGE350000001 400000000
PASSES_PER_SEC
25
SAVE_EVENT_SECOND_CYCLE
180
PING_EVENT_SECOND_CYCLE
180
PLAYER_SQL
192.168.0.2 channel2 Ch2 player
COMMON_SQL
192.168.0.2 channel2 Ch2 common
LOG_SQL
192.168.0.2 channel2 Ch2 log
#TEST_SERVER: 1 
pk_server
und schon ist Channel2 fertig
Dies machen wir noch mit den anderen CONFIG Dateien unter:
PHP Code:
game/channel/first
game
/channel/game1_1
game
/channel/game1_2
game
/channel/game1_3
game
/channel/game2
game
/channel/game61 
Den Schritt für Channel2 wiederholen wir noch mit Channel3 und Channel4 und fertig ist unser Laggfreier sicherer Server =)!
iMer is offline  
Thanks
74 Users
Old 05/10/2010, 18:05   #2
 
elite*gold: -320
Join Date: Feb 2010
Posts: 1,773
Received Thanks: 444
Öhmm ja wie immer sprichst du in Rätsel^^
DaRkFoRgE™ is offline  
Old 05/10/2010, 18:06   #3
 
HeadSplitter <3's Avatar
 
elite*gold: 12
The Black Market: 178/0/1
Join Date: Dec 2009
Posts: 8,628
Received Thanks: 2,495
Suppe gemacht :P

Nur so viel Gb ein Root :S
HeadSplitter <3 is offline  
Old 05/10/2010, 18:07   #4
 
elite*gold: 0
Join Date: Apr 2010
Posts: 363
Received Thanks: 513
Quote:
Originally Posted by DaRkFoRgE™ View Post
Öhmm ja wie immer sprichst du in Rätsel^^
Du brauchst halt Hirn für.

NW2 läuft so ähnlich...ähnlich..das Konzept ist von Eimer&Mir....und es ist nicht einfach xD
Quote:
Originally Posted by nix12345 View Post
Suppe gemacht :P

Nur so viel Gb ein Root :S
Jeder unserer damnten Roots hat min 8gb ram x3
Dauni._. is offline  
Thanks
4 Users
Old 05/10/2010, 18:15   #5
 
syshack3rz's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 1,255
Received Thanks: 833
In den game1_1 configs kann man den mysql server angeben
syshack3rz is offline  
Old 05/10/2010, 18:27   #6
 
runky2's Avatar
 
elite*gold: 0
Join Date: Apr 2009
Posts: 519
Received Thanks: 748
Quote:
Originally Posted by Dauni._. View Post
NW2 läuft so ähnlich...ähnlich..das Konzept ist von Eimer&Mir....und es ist nicht einfach xD
Wüsste nicht was daran so kompliziert sein soll. Wenn man jedoch mehrere Server hat wird es problematischer. Da muss man schon Übersicht behalten!
runky2 is offline  
Old 05/10/2010, 18:32   #7
 
elite*gold: 439
Join Date: May 2009
Posts: 1,502
Received Thanks: 880
Ist eigentlich logisch
LordMampf2 is offline  
Old 05/10/2010, 18:37   #8
 
elite*gold: 0
Join Date: Dec 2009
Posts: 2,550
Received Thanks: 575
das check ich nich ._.
.G0ldRaiN is offline  
Old 05/10/2010, 18:47   #9

 
IgorGlock's Avatar
 
elite*gold: 1862
Join Date: Jan 2009
Posts: 3,725
Received Thanks: 7,671
man könnte GF-Like benutzen für viele Server oder wenn man nur 1nen Server haben möchte, meine Idee xD


^ das Bild ist schon seit einer Ewigkeit auf meinen DESK ;D

eing. ist's logisch
IgorGlock is offline  
Old 05/10/2010, 18:54   #10
 
Tanhii's Avatar
 
elite*gold: 1
Join Date: Dec 2008
Posts: 4,066
Received Thanks: 1,726
Du darfst keine Global player DB haben, bzw nicht mehr bei 10 Servern+

Da kackt der Server recht schnell ab. Wenn man nämlich bei 20 Servern mit jeweils 10k Spieler gleichzeitig (GF-like unso) rechnet sind das 200k Connections die am leben sind und sich ständig erneuern blah blah blah xD
Tanhii is offline  
Old 05/10/2010, 19:11   #11

 
iMer's Avatar
 
elite*gold: 606
Join Date: Apr 2008
Posts: 3,180
Received Thanks: 5,376
Quote:
Originally Posted by Tanhel View Post
Du darfst keine Global player DB haben, bzw nicht mehr bei 10 Servern+

Da kackt der Server recht schnell ab. Wenn man nämlich bei 20 Servern mit jeweils 10k Spieler gleichzeitig (GF-like unso) rechnet sind das 200k Connections die am leben sind und sich ständig erneuern blah blah blah xD
MySQL Cluster ftw.
iMer is offline  
Old 05/10/2010, 19:15   #12
 
elite*gold: 0
Join Date: Apr 2010
Posts: 363
Received Thanks: 513
Quote:
Originally Posted by iMer View Post
MySQL Cluster ftw.
Na los eimer, mach eins! Los! Mach eins1 Loos! Du hast einen Tag! xD
Dauni._. is offline  
Old 05/10/2010, 19:16   #13

 
IgorGlock's Avatar
 
elite*gold: 1862
Join Date: Jan 2009
Posts: 3,725
Received Thanks: 7,671
Quote:
Originally Posted by iMer View Post
MySQL Cluster ftw.
^ this!

Das mit GF-Like meine ich das die nur Accounts auf einen XXL Server hosten ^^
IgorGlock is offline  
Old 05/10/2010, 19:19   #14
 
Calculat0r.'s Avatar
 
elite*gold: 0
Join Date: Apr 2010
Posts: 458
Received Thanks: 120
hmm soll man dann einfach bei jedem server die config bearbeiten ? mehr nicht ? :O
Calculat0r. is offline  
Old 05/10/2010, 20:47   #15
 
.Kay331's Avatar
 
elite*gold: 5
Join Date: Nov 2009
Posts: 1,863
Received Thanks: 2,778
Quote:
Originally Posted by mani1993 View Post
hmm soll man dann einfach bei jedem server die config bearbeiten ? mehr nicht ? :O

Glaube eher nicht das es so einfach ist.


@iMer


Wie soll man das denn machen?


Also bei mir wäre es /usr/metin2/

da wären denn

all_log
auth_server
channel -> da sind ide 4stk drinne
db_server
Share_data

denn noch die close.sh
db_auth.sh usw

drinne


Wenn das jemmand genauer erklären könnte wäre gut
.Kay331 is offline  
Reply


Similar Threads Similar Threads
andere spieler können nicht auf mein p server hamachi wieso nicht?
04/27/2013 - Metin2 Private Server - 24 Replies
Hey ich habe nun einen Hamachi Pserver erstellt. Meinem bruder habe ich in meinem Hamachi nextwerk und beide vertrauen an. Er hat sich denn selbern Client runtergeladen wie ich, und dann meine Hamachi ip eingetragen bei mc.txt wir haben 2 acc erstellt beide gehen wenn ich mich ein loge. ( haben beide auch gm rechte ) wenn er sich einlgen will steht da (Fehler beim verbinden mit dem Server) Hinweis: PortMap ist an, und sind alle da . In seiner mc.txt steht meine ip hamachi.
Futura nicht mehr der bester metin2 de Spieler!!!
04/21/2010 - Metin2 - 84 Replies
Wisst ihr schon das futura nicht der beste metin2 de spieler ist? geht afu die rangliste von legoria da ist jemand 96 und hat mehr exp als futura!!!
[HowTo]Apache22 sicherer machen.
04/12/2010 - Metin2 PServer Guides & Strategies - 0 Replies
Ich habe mich mal ein wenig informiert im Bezug auf Apache22 flooden bzw DdoS wie man sich da schützen könnte. Folgendes kam bei raus: Link Nr 1 Dort stehen die ganzen Variablen: Variablen Ich hoffe, es hilft jemanden, sofern es eine Hilfe ist. Sollte wer weitere Informationen bzw nähere haben schreibt mir diese.
[HowTo]Das Hamachi nicht mehr Abläuft
03/18/2010 - Metin2 Private Server - 1 Replies
Sorry,Falsche Sektion guckt under Guides & Strategis #reported Bitte Closen
[HowTo]Das erfolgreiche Konzept eines laggfreien Servers!
01/24/2010 - Metin2 PServer Guides & Strategies - 17 Replies
Laggfreier Low RAM Hamachi Server: Moin Moin! :P Da mich viele gefragt haben wie ich das mache mit 5 Leuten auf einem 200Mb Hamachi Server laggfrei zu spielen, dachte ich mir ich mache mal ein TuT um euch zu zeigen, wie ihr auch mit sehr wenig RAM laggfrei auf eurem Server spielen könnt. Dazu muss ich erstmal klarstellen: Dieses TuT ist für Leute, die keinen so guten PC haben,



All times are GMT +2. The time now is 08:39.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.