[METIN2]2Server in einem Client

12/27/2010 15:10 cHivas97#1
Hallo,
Heute will ich euch zeigen wie ihr in einen Clienten
2server machen könnt. Also ihr braucht einen Server und
ein Freund oder ein anderer braucht einen Server.
z.B. mit den IP's

5.132.153.13
5.98.213.80

5.132.153.13 <--- erster server
5.98.213.80 <-----zweiter server
also ihr downloadet euch die Datei aus dem Anhang und
kopiert den Inhalt.
Dann ersetzt ihr den Inhalt aus meiner Serverinfo mit der aus
eurer das sollte dann so aussehen:

import app
import locale

app.ServerName = None
if locale.IsGERMANY() or (locale.IsEUROPE() and app.GetLocalePath() == "locale/de"):
STATE_NONE = "NORM"

STATE_DICT = {
0 : "....",
1 : "NORM",
2 : "BUSY",
3 : "FULL"
}

SERVER01_CHANNEL_DICT = {
1:{"key":11,"name":"CH1 ","ip":"Hamachi IP","tcp_port":13000,"udp_port":13000,"state":STAT E_NONE,},
2:{"key":12,"name":"CH2 ","ip":"Hamachi IP","tcp_port":13000,"udp_port":13000,"state":STAT E_NONE,},
}

SERVER02_CHANNEL_DICT = {
1:{"key":11,"name":"CH1 ","ip":"Hamachi IP2","tcp_port":13000,"udp_port":13000,"state":STA TE_NONE,},
2:{"key":12,"name":"CH2 ","ip":"Hamachi IP2","tcp_port":13000,"udp_port":13000,"state":STA TE_NONE,},
}

REGION_NAME_DICT = {
0 : "GERMANY",
}

REGION_AUTH_SERVER_DICT = {
0 : {
1 : { "ip":"Hamachi IP", "port":11002, },
2 : { "ip":"Hamachi IP2", "port":11002, },
}
}

REGION_DICT = {
0 : {
1 : { "name" : "ServerName", "channel" : SERVER01_CHANNEL_DICT, },
2 :{ "name" : "ServerName2", "channel" : SERVER02_CHANNEL_DICT, },
},
}

MARKADDR_DICT = {
10 : { "ip" : "Hamachi IP2", "tcp_port" : 23000, "mark" : "10.tga", "symbol_path" : "10", },
20 : { "ip" : "Hamachi IP2", "tcp_port" : 23000, "mark" : "20.tga", "symbol_path" : "20", },
}

TESTADDR = { "ip" : "0.0.0.0", "tcp_port" : 13003, "udp_port" : 13003, }



bei hamachi ip die ip z.b. 5.132.153.13
und bei hamachi ip2 z.b. 5.98.213.80
dann noch die servernamen ändern
abspeichern und dann müsst ihr euren server
erstens nicht mehr per sura kopf starten sonder per mc.exe
und ihr habt 2 server drin.

Jetzt habt ihr einen Clienten mit 2 Servern.
12/27/2010 15:11 Jiggus#2
Schon bekannt.
12/27/2010 15:13 CranK™#3
Hmm sieht aus wie die serverinfo beim 2007er clienten. Da ist es ja einfach 2 Server zu machen.
Bei der 2010er ist es schon schwerer:

Code:
import os
import app
import locale
import debugInfo

CHINA_PORT = 50000

def BuildServerList(orderList):
	retMarkAddrDict = {}
	retAuthAddrDict = {}
	retRegion0 = {}

	ridx = 1
	for region, auth, mark, channels in orderList:
		cidx = 1
		channelDict = {}
		for channel in channels:
			key = ridx * 10 + cidx
			channel["key"] = key
			channelDict[cidx] = channel
			cidx += 1

		region["channel"] = channelDict

		retRegion0[ridx] = region
		retAuthAddrDict[ridx] = auth
		retMarkAddrDict[ridx*10] = mark
		ridx += 1

	return retRegion0, retAuthAddrDict, retMarkAddrDict

app.ServerName = None

if locale.IsEUROPE():
	info = {
		'MARKADDR': {
		10: {
			'tcp_port': 13000, 'ip': 'Server IP', 'symbol_path': '10', 'mark': '10.tga'
			},
		20: {
			'tcp_port': 13000, 'ip': 'Server IP', 'symbol_path': '20', 'mark': '20.tga'
			},
		},
		'GAMEADDR': {
			0: {
				1: {
					'name': 'Servername',
					'channel':
				{
					1: {
					'state': '...', 'name': 'CH1   ', 'key': 11, 'ip': 'Server IP', 'tcp_port': 13000, 'udp_port': 13000
					}, 2: {
					'state': '...', 'name': 'CH2   ', 'key': 12, 'ip': 'Server IP', 'tcp_port': 16000, 'udp_port': 16000
					}, 3: {
					'state': '...', 'name': 'CH3   ', 'key': 13, 'ip': 'Server IP', 'tcp_port': 19000, 'udp_port': 19000
					}, 4: {
					'state': '...', 'name': 'CH4   ', 'key': 14, 'ip': 'Server IP', 'tcp_port': 22000, 'udp_port': 22000
					}
				}
			},
				2: {
					'name': 'Servername',
					'channel':
				{
					1: {
					'state': '...', 'name': 'CH1   ', 'key': 21, 'ip': 'Server IP', 'tcp_port': 13000, 'udp_port': 13000
					}, 2: {
					'state': '...', 'name': 'CH2   ', 'key': 22, 'ip': 'Server IP', 'tcp_port': 16000, 'udp_port': 16000
					}, 3: {
					'state': '...', 'name': 'CH3   ', 'key': 23, 'ip': 'Server IP', 'tcp_port': 19000, 'udp_port': 19000
					}, 4: {
					'state': '...', 'name': 'CH4   ', 'key': 24, 'ip': 'Server IP', 'tcp_port': 22000, 'udp_port': 22000
					}
				}
			}
		} }, 'NAME': { 0: 'GERMANY' }, 'AUTHADDR': { 
		0: {
			1: {
				'ip': 'Server IP', 'port': 11002
				},
			2: {
				'ip': 'Server IP', 'port': 11002
				}
			} 
		}
	}

	STATE_NONE = "..."

	STATE_DICT = {
		0 : "....",
		1 : "NORM",
		2 : "BUSY",
		3 : "FULL"
	}

	REGION_NAME_DICT = info["NAME"]
	REGION_AUTH_SERVER_DICT = info["AUTHADDR"]
	REGION_DICT = info["GAMEADDR"]
	MARKADDR_DICT = info["MARKADDR"]
Eine 2010er Servinfo mit 2 Servern und jeweils 4CH's
12/27/2010 15:15 Pan.#4
@ crank, why doppelpost? :D

und ist auch schon bekannt

wer etwas hirn htt bekommt´s bei 2007er serverinfo.py selber hin ;)
12/27/2010 15:18 CranK™#5
Quote:
Originally Posted by Pan. View Post
@ crank, why doppelpost? :D

und ist auch schon bekannt

wer etwas hirn htt bekommt´s bei 2007er serverinfo.py selber hin ;)
Hat i wie 2 mal geschickt habe 1 mal drauf gedrückt aber kp.
Internet spinnt sowieso gerade lade gerade einen Clienten hoch.
12/27/2010 15:20 Rauschii#6
Jo,unnötig der Therad
Das muss dir doch schon aufgefallen sein,dass es das schon gibt.
12/27/2010 15:23 Jiggus#7
Quote:
Originally Posted by CranK™ View Post
Hmm sieht aus wie die serverinfo beim 2007er clienten. Da ist es ja einfach 2 Server zu machen.
Bei der 2010er ist es schon schwerer:

Code:
import os
import app
import locale
import debugInfo

CHINA_PORT = 50000

def BuildServerList(orderList):
	retMarkAddrDict = {}
	retAuthAddrDict = {}
	retRegion0 = {}

	ridx = 1
	for region, auth, mark, channels in orderList:
		cidx = 1
		channelDict = {}
		for channel in channels:
			key = ridx * 10 + cidx
			channel["key"] = key
			channelDict[cidx] = channel
			cidx += 1

		region["channel"] = channelDict

		retRegion0[ridx] = region
		retAuthAddrDict[ridx] = auth
		retMarkAddrDict[ridx*10] = mark
		ridx += 1

	return retRegion0, retAuthAddrDict, retMarkAddrDict

app.ServerName = None

if locale.IsEUROPE():
	info = {
		'MARKADDR': {
		10: {
			'tcp_port': 13000, 'ip': 'Server IP', 'symbol_path': '10', 'mark': '10.tga'
			},
		20: {
			'tcp_port': 13000, 'ip': 'Server IP', 'symbol_path': '20', 'mark': '20.tga'
			},
		},
		'GAMEADDR': {
			0: {
				1: {
					'name': 'Servername',
					'channel':
				{
					1: {
					'state': '...', 'name': 'CH1   ', 'key': 11, 'ip': 'Server IP', 'tcp_port': 13000, 'udp_port': 13000
					}, 2: {
					'state': '...', 'name': 'CH2   ', 'key': 12, 'ip': 'Server IP', 'tcp_port': 16000, 'udp_port': 16000
					}, 3: {
					'state': '...', 'name': 'CH3   ', 'key': 13, 'ip': 'Server IP', 'tcp_port': 19000, 'udp_port': 19000
					}, 4: {
					'state': '...', 'name': 'CH4   ', 'key': 14, 'ip': 'Server IP', 'tcp_port': 22000, 'udp_port': 22000
					}
				}
			},
				2: {
					'name': 'Servername',
					'channel':
				{
					1: {
					'state': '...', 'name': 'CH1   ', 'key': 21, 'ip': 'Server IP', 'tcp_port': 13000, 'udp_port': 13000
					}, 2: {
					'state': '...', 'name': 'CH2   ', 'key': 22, 'ip': 'Server IP', 'tcp_port': 16000, 'udp_port': 16000
					}, 3: {
					'state': '...', 'name': 'CH3   ', 'key': 23, 'ip': 'Server IP', 'tcp_port': 19000, 'udp_port': 19000
					}, 4: {
					'state': '...', 'name': 'CH4   ', 'key': 24, 'ip': 'Server IP', 'tcp_port': 22000, 'udp_port': 22000
					}
				}
			}
		} }, 'NAME': { 0: 'GERMANY' }, 'AUTHADDR': { 
		0: {
			1: {
				'ip': 'Server IP', 'port': 11002
				},
			2: {
				'ip': 'Server IP', 'port': 11002
				}
			} 
		}
	}

	STATE_NONE = "..."

	STATE_DICT = {
		0 : "....",
		1 : "NORM",
		2 : "BUSY",
		3 : "FULL"
	}

	REGION_NAME_DICT = info["NAME"]
	REGION_AUTH_SERVER_DICT = info["AUTHADDR"]
	REGION_DICT = info["GAMEADDR"]
	MARKADDR_DICT = info["MARKADDR"]
Eine 2010er Servinfo mit 2 Servern und jeweils 4CH's

Ich frage mich immer was der mist bedeutet:
Code:
'MARKADDR': {
		10: {
			'tcp_port': 13000, 'ip': 'Server IP', 'symbol_path': '10', 'mark': '10.tga'
			},
		20: {
			'tcp_port': 13000, 'ip': 'Server IP', 'symbol_path': '20', 'mark': '20.tga'
Ich glaube es liegt daran das man keine gildenlogos mehr hochladen kann :confused:
12/27/2010 15:27 CranK™#8
Quote:
Originally Posted by Bug. View Post
Ich frage mich immer was der mist bedeutet:
Code:
'MARKADDR': {
		10: {
			'tcp_port': 13000, 'ip': 'Server IP', 'symbol_path': '10', 'mark': '10.tga'
			},
		20: {
			'tcp_port': 13000, 'ip': 'Server IP', 'symbol_path': '20', 'mark': '20.tga'
Ich glaube es liegt daran das man keine gildenlogos mehr hochladen kann :confused:
Ne daran kanns nicht liegen da bin ich mir ziemlich sicher.
Das liegt glaube ich an den Server Packets.
Also net.SendChatPacket unso.
Oder an der game.