手游服务端架设一条龙_vm服务器

手游服务端架设一条龙_vm服务器本文作者:smeli(俄罗斯人,于2009年完成该教程)PS:要比国内写的那些教程完整,详细,希望大家喜欢VS运行库安装………………………………………..2SQL数据库安装…………………………………………..3L2Server设置………………………………………………11GM账户创建………………………………………….15运行服务端(1)…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本文作者:smeli(俄罗斯人,于2009年完成该教程)

PS:要比国内写的那些教程完整,详细,希望大家喜欢

  1. VS运行库安装………………………………………..2

  2. SQL数据库安装…………………………………………..3

  3. L2Server设置………………………………………………11

  4. GM账户创建………………………………………….15

  5. 运行服务端(1).………………….………………………..16

  6. 老版服务端设置……………………………………………..19

  7. 运行服务端 (2)………………………………………………39

    1. Two servers on one auth双线设置…………………………………39

    2. Eventmatch………………………………………………52

  8. Web注册页……………………………………..…80

  9. 红色错误……………………………………………………82

 

1 .VS运行库安装

 

In directiory “Install_runtime” or “l2server/_visualC_2008” you can find redistributable instalation file, or download it directly from Microsoft web site.

 

Just install it. In picture below this is already installed, so it asking for repair or uninstall.

 

手游服务端架设一条龙_vm服务器

 

Maybe you need also to install Dot.Net 2.0 or Dot.Net 3.5+

2. SQL数据库安装

MSSQL 2005安装

 

 

Here we assume that you already have installed MSSQL 2005 server or express in mixed mode: “sa” and “Windows Authentification”

 

Chechk your SQL server is up and running

 

手游服务端架设一条龙_vm服务器

 

 

I am using SQL Server Management Studio Express version

Run your SQL server manager and connect to it

 

手游服务端架设一条龙_vm服务器

 

After sucessul login at the left side we have

 

手游服务端架设一条龙_vm服务器

 

Double click on “Databases”, then Right click on blank area

手游服务端架设一条龙_vm服务器

 

Now select “New Database”

手游服务端架设一条龙_vm服务器

 

and create database “lin2db” (enter name of database and press “OK” button

The same way create all other databases

“lin2comm”

“lin2log”

“lin2world”

“lin2report”

手游服务端架设一条龙_vm服务器

———————————————————————————————–
Setting up Database Scripts
———————————————————————————————–
Note: “l2online” is your chosen password, it can be “l2offline” or “bigbunny” – it is your password for user “sa”

 

Using NOTEPAD form DBScripts directory,

open 3.lin2comm.sql (or lin2comm_new.sql) under DBScript

find
set @conn_str = ‘127.0.0.’ + @world_id + ”’;”sa”;”l2online’
change 127.0.0. to the first 3 sets of numbers of your internal IP (If your internal IP is 192.168.0.121 then enter 192.168.0.)
change “
sa” as your SQL database account
change “
l2online” as your SQL database password
there are 3 lines you have to change

find
‘SQLOLEDB’, ‘127.0.0.1’;’sa’;’l2online’
change 127.0.0.1 to your internal IP
change “
sa” as your SQL database account
change “
l2online” as your SQL database password
there is only 1 line you have to change

save and close the file.

open 6.lin2world.sql (lin2world_20040609_all.sql) under DBScript

find
set @conn_str = ‘127.0.0.’ + @world_id + ”’;”sa”;”l2online’
change 127.0.0. to the first 3 sets of numbers of your internal IP (If your internal IP is 192.168.0.121 then enter 192.168.0.)
change “
sa” as your SQL database account
change “
l2online” as your SQL database password
there are 3 lines you have to change

find
‘SQLOLEDB’, ‘127.0.0.1’;’sa’;’l2online’
change 127.0.0.1 to your internal IP
change “
sa” as your SQL database account
change “
l2online” as your SQL database password
there are 2 lines you have to change

save and close the file.

 

As database scripts are ready. Apply them.

Use “File->Open->File”

手游服务端架设一条龙_vm服务器

 

For database “lin2db” choose first 4.1. lin2db.sql

Apply it, then choose 4.2 lin2db.sql and apply it too (see pictures below)

 

手游服务端架设一条龙_vm服务器

 

After we opened it

Change “master” database to our “lin2db” (see picture below)

手游服务端架设一条龙_vm服务器

 

Press Blue “Check” button for error parsing and Red “Execute” Button for aplying script to database

手游服务端架设一条龙_vm服务器

 

Completion window will appear

手游服务端架设一条龙_vm服务器

 

In case of errors, try to fix them until all will be ok.

Check out your database

 

手游服务端架设一条龙_vm服务器

 

 

Now,

Process all other databases the same maner……………..

 

Now it is time for DNS Configuration

Open your windows control panel

手游服务端架设一条龙_vm服务器

手游服务端架设一条龙_vm服务器

Select “Administrative Tools” and then open (double click) “Data Sources (ODBC)”

Choose the File DSN tab then click the Add.. button.

Select SQL Server and click next

手游服务端架设一条龙_vm服务器

手游服务端架设一条龙_vm服务器

Enter your File DSN name, for example “lin2db” and press Next> button, then press Finish> button

手游服务端架设一条龙_vm服务器

Enter your server name. Press Next> button. Leave Windows Authetification and press Next>button again

手游服务端架设一条龙_vm服务器

Change default database to our “lin2db” and press Next> button, and then press Next> button again.

Now you can test your DSN.

手游服务端架设一条龙_vm服务器

手游服务端架设一条龙_vm服务器

Press OK button three two times to confirm your work.

Process all other databases DSNs the same maner……………..

3. 服务端配置文件设置

———————————————————————————————–
IP Configurations
———————————————————————————————–

Go to your Lineage 2 Server folder.

In each of these following folders: L2LogD, CacheD, NewAuth, PetitionD, L2NPC, and L2Server, they contain a configuration file that is either a *.ini or *.txt document. You don’t need to change anything and make sure they’re set at 127.0.0.1. The only time you would need to change them is if you are loading them from multiple computers! It doesn’t matter if you even have a router! As long as you are loading all 6 Process from the same machine, you just need to keep most of the IP adress as 127.0.0.1.

Change the following lines in config.txt under “NewAuth\etc” folder:
DevServerIP=”24.68.124.198″ //Change this to your Internet IP address, your WAN, the IP that you get from your ISP. Visit http://whatismyip.com to find it.
logdip=”127.0.0.1″ //Change this to what you used for your L2LogD.ini address.

Change the following lines in l2cache.ini under CacheD folder:
address=”127.0.0.1″ //Change this only if you plan to load this from a different computer! Adjust it to the ip of that computer! If PC2 has IP of 192.168.0.121 and it is planning to load L2CacheD.exe there. Then change it, otherwise leave it as 127.0.0.1!

Change the following lines in l2logd.ini under L2LogD folder:
address=”127.0.0.1″ //Same thing as L2CacheD.ini

Change the following lines in config.txt under PetitionD\etc folder:
webAuthServer=”127.0.0.1″ //Same thing as L2CacheD.ini

Change the following lines in L2NPC.ini under L2NPC folder:
//Change them accordingly to what you adjusted for them. If L2LogD.ini has ip of 192.168.0.121 on PC2. Then change that IP in L2NPC.ini to that. You are pointing L2NPC.exe to connect to the other Server Processes. Leave the ports alone!

[LogD]
address=”127.0.0.1″
port=3999

[CacheD]
address=”127.0.0.1″
port=2008

[server]
address=”127.0.0.1″
port=2002


directory=”map”

[World]
WorldId=1

[db]
address=”127.0.0.1″
user=”gamma” //This should be your MSSQL Login (I used sa since it sets up the sa account for you when you install SQL and sa has all permissions)
password=”l2online” //This should be your MSSQL Password

[Setting]
;Country=0 KR
;Country=1 US
;Country=2 JP
;Country=3 TW
;Country=4 CN
Country=1 //Change this accordingly to what “CLIENT” version you allow to connect!
ExceptionMailing=false
MailServer=ncs-mail.ncsoft.co.kr

Change the following lines in l2server.ini under L2Server folder:
//Again, the same explaination from L2NPC.ini config applies here as well!

[LogD]
address=”127.0.0.1″
port=3999

[CacheD]
address=”127.0.0.1″
port=2006

[AuthD]
address=”127.0.0.1″
port=2104

[petitionD]
address=”127.0.0.1″
port=2107
WorldId=1 //Leave this as 1 if you don’t plan to run multiple servers! WorldId = ServerId in lin2db (will be explained furtherdown). If they’re not the same number, your server won’t be connecting to the same gameworld or won’t find one to connect to!

 

 

 

Now setup server record in “lin2db” database. Open lin2db tables, and rightclick on “dbo.server” table, then choose “Open Table”

 

手游服务端架设一条龙_vm服务器

 

To add information in for the example [ id = 1 ] you would put the number 1 in the id column:
id = 1
name = same as the worldname in l2server.ini
ip = your external IP
inner_ip = your internal IP
ageLimit = 0
pk_flag = 0 PK not allow; 1 allow
kind=0
port=7777

 

手游服务端架设一条龙_vm服务器

 

The same server setup for local network access and for the internet access requires a little bit of magic:

 

手游服务端架设一条龙_vm服务器

———————————————————————————————–

System INI Configuration

———————————————————————————————–

 

Go to your control panel (from start menu) then click the system icon, advanced tab, under performance click settings, then choose the advanced tab again and click the change button under virtual memory. Set Custom size with minimum set at 1024 and maximum set at 4096

 

You must do this to run all the NPC’s.

 

Locate your boot.ini file in C:\ Drive. You’ll need to change folder view setting to include hidden and system files or else you won’t be able to find it.

 

Open C:\Boot.ini in notepad, the last line should look like:

 

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Micro soft Windows XP Professional” /nodetect

 

or something similar, add the /3GB tag at the end. It should look like this (if your line was the same as the line above)

 

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Micro soft Windows XP Professional” /nodetect /3GB

 

Reboot your computer

 

4. GM帐号创建

 

To create test acounts or restricted accounts, you do not need registration page. Just use Account creation tool.

Open directory 2_HomePage->L2AC

手游服务端架设一条龙_vm服务器

 

O
手游服务端架设一条龙_vm服务器pen l2ac.ini file, enter your values and save it

 

[DB Connection]

HostName=l2\SQLEXPRESS

DataBase=lin2db

User=sa

Password=l2online

[Common]

SavePass=1

 

Now run l2ac.exe

Enter your GM login and password and press “Create” button

 

———————————————————————————————–

Setting up Administration Account / GM Characters

———————————————————————————————–

 

For this to work you must have created an user account.

 

Open SQL Server Enterprise Manager (start menu again), double click SQL Server Group, double click on your local server then click OK. Double click on databases folder and select lin2db. Click on tables then find user_account, right click on it and select Open Table then Return All Rows. Note the name and uid of the account that you want to make a gm.

 

Go back to databases and this time select lin2world. Click tables and select builder_account, right click select Open table then Return All Rows. Under account name enter the name of your character (that you noted before in user_account) and under default builder enter 1 and under account_id enter the uid you noted from user_account.

 

When you make a new character on this account it will have GM powers, the commands are located in script/BuilderCmdAlias.txt and are used //command so to disable invisible mode you would type in: //hide off

 

To give a current character GM powers, Go back to databases and select lin2world. Click tables and select user_data, right click select Open table then Return All Rows. All the character on the server will be listed, you can just change the builder value from 0 to 9 for any character you want to give GM powers.

5. 运行服务端

If you want to stay on track, you’ll need to have a secure server.

Otherwise people will jump in your server, burn it and destroy all of your work with no mercy. Apart from protection DLLs, you’ll also need to configure your Firewall to block certain ports or else you’ll be susceptible to SQL/CacheD injections, and that’s not good.

 

Filter the following ports in your firewall: (windows firewall, for example)

 

# 1433 (SQL) (only local area network access / closed)

# 2002 (only local area network access / closed)

# 2008 (only local area network access / closed)

# 2012 (only local area network access / closed)

# 2106 (auth) (open to the public / open)

# 7777 (l2server) (open to the public / open)

 

 

Open the files in the following order.

L2LogD.exe

File DB = lin2log
login name = your SQL account
password = your SQL password

手游服务端架设一条龙_vm服务器

CacheD.exe

File DB = lin2world
login name = your SQL account
password = your SQL password

手游服务端架设一条龙_vm服务器

L2AuthD.exe

File DSN = lin2db
login name = your SQL account
password = your SQL password

L2Server.exe

手游服务端架设一条龙_vm服务器

 

If needed, rightclick on second server tab and select Maximize

 

 

手游服务端架设一条龙_vm服务器Make sure your of server version

 

 

L2NPC.exe

Congrats with setting up your server!

Note. L2Server.exe must be running on the same machine with L2NPC.exe! You cannot load them on separate computers!

 

6. 老版教程

 

6.2 英文版

 

 

 

Part 1 – changing INI’s (base on my fixes)
!!!IF YOU DONT HAVE THING LIKE ROUTER THEN LEAVE 127.0.0.1 THERE, BUT
DevServerIP=”127.0.0.1″ HAVE TO BE YOUR WAN IP!!!

————————————————————————————-

edit config.txt under NewAuth\etc folder

serverPort=2104
serverExPort=2106
serverIntPort=2108
worldport=7777
DBConnectionNum=10
encrypt=true
numServerThread=2
numServerExThread=2
numServerIntThread=2
logDirectory=”log”
;30810 : l2, 30310 : Sl
ProtocolVersion=30810
;8:lineage2, 4 halo
GameID=8
DesApply=false
PacketSizeType=3
ReadLocalServerList=false
OneTimeLogOut=true
CountryCode=2
DevConnectOuter=true
;change it as your WAN IP
DevServerIP=”127.0.0.1″
;SocketTimeOut if player no Action while they in game then kick out.
SocketTimeOut=10
SocketLimit=5000
AcceptCallNum=1
UseOneIOCom=true
AcceptThread=1
WaitingUserLimit=100
dumppacket=false
UserData=false
UseLogD=false
;change it as your LAN IP
logdip=”127.0.0.1″
logdport=3999
logdconnectinterval=120
;(true=auth-main reconnect on/false=auth-main reconnect off)
SupportReconnect=false
AutokickAccount=true
NewEncrypt=false

————————————————————————————-

edit l2cache.ini under CacheD folder

[LogD]
;change it as your LAN IP
address=”127.0.0.1″
port=3999

[Setting]
;Country=0 KR
;Country=1 US
;Country=2 JP
;Country=3 TW
;Country=4 CN
Country=4
ExceptionMailing=false
MailServer=mail.ncsoft.co.kr

[World]
WorldId=1
Pair=0

[ItemAudit]
DefaultPriceLimit=100000000
DefaultPriceCheck=50000000
ChgRatioLimit=30
AdenaLimit=100000000
AdenaCheck=50000000
AdenaChgRatioLimit=30

[SQL]
SQLExecLimit=9000
;clear unowned item data[0:false, 1:true]
ItemClearOnStart=0
DiffBBSConn=0
SaveQsData=0
BBSDBTimeOut=60
USEBBS=0

————————————————————————————-

edit l2logd.ini under L2LogD folder

[LogD]
;change it as your LAN IP
address=127.0.0.1
port=3999
sendable=true

[LogTable]
Daily=1
BCPFolder=1

[Start]
BCPInt=3600000
ServerInt=3600000
AutoBCP=0

[World]
WorldId=1

[SQL]
SQLExecLimit=5000
PollingInterval=6000
BCPThreadCount=5

[Setting]
;Country=0 KR
;Country=1 US
;Country=2 JP
;Country=3 TW
;Country=4 CN
country=4
ExceptionMailing=false
MailServer=ncs-mail.ncsoft.co.kr

————————————————————————————-

eidt L2NPC.ini under L2NPC folder

[LogD]
;change it as your LAN IP
address=”127.0.0.1″
port=3999

[CacheD]
;change it as your LAN IP
address=”127.0.0.1″
port=2008

[server]
;change it as your LAN IP
address=”127.0.0.1″
port=2002


directory=”map”

[World]
WorldId=1

[db]
;change it as your LAN IP
address=”127.0.0.1″
port=2005
;your SQL database account
user=”gamma”
;your SQL database password
password=”l2online”

[Setting]
;Country=0 KR
;Country=1 US
;Country=2 JP
;Country=3 TW
;Country=4 CN
Country=4
ExceptionMailing=false
MailServer=ncs-mail.ncsoft.co.kr

————————————————————————————-

edit l2server.ini under L2Server folder

[LogD]
;change it as your LAN IP
address=”127.0.0.1″
port=3999

[CacheD]
;change it as your LAN IP
address=”127.0.0.1″
port=2006

[AuthD]
;change it as your LAN IP
address=”127.0.0.1″
port=2104

[petitionD]
;change it as your LAN IP
address=”127.0.0.1″
port=2107
;change the name whatever u like
worldname=”Lineage2″

[World]
WorldId=1
UserLimit=2000
LetBuilder=0

[Report]
;minute
Interval=60

[Setting]
;Country=0 KR
;Country=1 US
;Country=2 JP
;Country=3 TW
;Country=4 CN
Country=4
UserPathFind=false
WorldCollision=false
ExceptionMailing=false
MailServer=mail.ncsoft.co.kr
AcceptLowerProtocol=true
;you might need to change here, but leave it unless you got crash when u run L2Server.exe
IOBufferCount=3000
;limit hour for week, (number means hour. 0 means don’t use. default is 0)
playtimelimit=0
;use auth reconn (1:use, 0:don’t. default is 0)
;have to be 0, if dont, u can’t login
reconnectauth=0

————————————————————————————-

edit config.txt under PetitionD\etc folder

;Number of threads working for transaction and service socket.
numberOfServiceThreads=10

;Port number for world server
worldPort=2107

;Port number for petition client
servicePort=2109

;Run as test mode
runMode=0

;WebAuthD address
;change it as your LAN IP
webAuthServer=”127.0.0.1″

;WebAuthD port
webAuthPort=2108

; Number of WebAuthD connections
numberOfWebAuthConnections=0

;Log directory
logDirectory=”log”

;status refresh interval(seconds)
statusRefresh=1

;Number of connections to petition database
numberOfPetitionDBConnections=12

;petition database connection string
;number of games to support, should be consistent with game_title table
numberGames=2
petitionDatabase = “0xF6DBBAA8A7C57B6F418E95A7CFCBB4DAF09B9A5E39B2FCA 717A7EA9C44E98FCDA34297C97542494D9977C5E9ED58FBE58 14852F7D8DAF11478AFEB5861F5572B4A2A7FE96453BBF6A3E 4445310F58A15FB3FA2D8D26BA61F2D6E0113053A1A6D3FF2B BDE07E242E5E29593F12D148CD1284ED2D17E6FE16FE96034D 3B4C21363”

————————————————————————————-

Part 1 – END

##################################################

 

 

 

 Part 2 – SQL database’s (base on my fixes)
!!!IF YOU DONT HAVE THING LIKE ROUTER THEN LEAVE 127.0.0.1 THERE!!!
!!!ALSO READ _drunk_ ‘s REPLY BELOW ABOUT THE world_id!!!

————————————————————————————-

edit lin2comm_new.sql under DBScript

find
set @conn_str = ‘127.0.0.1‘ + @world_id + ”’;”gamma”;”l2online’
change 127.0.0. as your LAN IP
change gamma as your SQL database account
change l2online as your SQL database password
there are 3 lines you have to change

find
‘SQLOLEDB’, ‘127.0.0.1’;’gamma’;’l2online’
change 127.0.0.1 as your LAN IP
change gamma as your SQL database account
change l2online as your SQL database password
there is only 1 line you have to change

————————————————————————————-

edit lin2world_20040609_all.sql under DBScript

find
set @conn_str = ‘127.0.0.1‘ + @world_id + ”’;”gamma”;”l2online’
change 127.0.0. as your LAN IP
change gamma as your SQL database account
change l2online as your SQL database password
there are 3 lines you have to change

find
‘SQLOLEDB’, ‘127.0.0.1’;’gamma’;’l2online’
change 127.0.0.1 as your LAN IP
change gamma as your SQL database account
change l2online as your SQL database password
there are 2 lines you have to change

————————————————————————————-

MS-SQL config

HERE IS COPY FROM Zelda803’s translation
1. Creation of Databases

– lin2world
– lin2comm
– lin2log
– lin2report
– lin2db
– petition
Databases mentioned above should be created.

2. Rightclick the Database – Registered sql server Property Edit(e) Click

sql server identity uses(q) (Check this one)
User Name(l)
Password(a)
Put the Name and Password which you have used on the installation

This is the important part of this installation .Usually errors occur somewhere in

here, so follow along really carefully.

 


RUN your SQL Server Agent

3. lin2world Database – lin2world_20040609_all.sql Analyze Query,than press save and next to Query Section Analyer, Click on TriangleDisplay box finishes this section.

4. lin2comm Database – lin2comm_new.sql analyze query next to Query Section Analyer, Click on TriangleDisplay box finishes this section.

5. lin2log Database – lin2log_20040416.sql analyze query next to Query Section Analyer, Click on TriangleDisplay box finishes this section.

6. lin2report Database – lin2report_20040416.sql analyze query next to Query Section Analyer, Click on TriangleDisplay box finishes this section.

7. lin2db Database – lin2db_AuthDBSchema.sql analyze query next to Query Section Analyer, Click on TriangleDisplay box finishes this section.

8. lin2db Database – lin2db_update.sql analyze query next to Query Section Analyer, Click on TriangleDisplay box finishes this section.

9. petition Database – petition.sql analyze query next to Query Section Analyer, Click on TriangleDisplay box finishes this section.

IMPORTANT!!!

lin2db Database -> Table -> Server (open table)

add

id = 1
name = same as the worldname in l2server.ini
ip = your WAN IP
inner_ip = your LAN IP
ageLimit = 0
pk_flag = 0 PK not allow; 1 allow
kind=0
port=7777

————————————————————————————-

DSN config

Control Pannel – Administrative Tools- ODBC – FILE DSN

Add – SQL server – lin2world – Server(s): (local) – Windows NT identification(W) – Change the Basic Database to following(D): lin2world

Add – SQL server – lin2comm – Server(s): (local) – Windows NT identification(W) – Change the Basic Database to following(D): lin2comm

Add – SQL server – lin2log – Server(s): (local) – Windows NT identification(W) – Change the Basic Database to following(D): lin2log

Add – SQL server – lin2report – Server(s): (local) – Windows NT identification(W) – Change the Basic Database to following(D): lin2report

Add – SQL server – lin2db – Server(s): (local) – Windows NT identification(W) – Change the Basic Database to following(D): lin2db

Add – SQL server – petition – Server(s): (local) – Windows NT identification(W) – Change the Basic Database to following(D): petition

————————————————————————————-

Part 2 – END

##################################################

 

 

 

 

 

Part 3 – RUN the server

————————————————————————————-

edit boot.ini under C:\
!!!IMPORTANT THE WAY TO RUN ALL NPC’S!!!

You might see different, depend which OS u got

[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOW S
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Micro soft Windows XP Professional” /nodetect /3GB

add /3GB at the end save it and reboot your computer

————————————————————————————-

L2LogD.exe

File DB = lin2log
login name = your SQL account
password = your SQL password

CacheD.exe

File DB = lin2world
login name = your SQL account
password = your SQL password

L2AuthD.exe

File DSN = lin2db
login name = your SQL account
password = your SQL password

PetitionD.exe

Server = (local)
login name = your SQL account
password = your SQL password
Database = petition

L2Server.exe

L2NPC.exe

————————————————————————————-

Part 3 – END

##################################################

 

 

 

Part 4 – ASP account register system
You can downlod the ASP syatem below in English

————————————————————————————-

edit config.asp

<%
const WEB_SIT_NAME = “Lineage2
const SERVER_MAX_CLIENT = 600

‘Change the COOKIE_HEAD whatever you like.
const COOKIE_HEAD = “none
%>

WEB_SIT_NAME =”your server’s name”
COOKIE_HEAD = “put whatever u like”

————————————————————————————-

edit conn.asp

‘MS SQL Database address
ms_sql_server_host_addr = “127.0.0.1

‘MS SQL account
sql_server_username = “gamma

‘MS SQL password
sql_server_password = “l2online

‘Lin2db database(user_auth)
lin2db = “lin2db”

‘Lin2world database(user_data)
lin2world = “lin2world”

‘ Encrypt or decrypt L2AuthD(otherwise will say password not match)
‘ 1) When using L2AuthD_encrypt.zip then set sys_type = “encrypt”
‘ 2) When using L2AuthD_decrypt.zip then set sys_type = “none”

sys_type = “
encrypt

————————————————————————————-

Part 4 – END

##################################################

 

 

 

 

 

Part 5 – RUN the game

————————————————————————————-

 

edit l2.ini file

u need a tool called l2encdec.exe to crack the l2.ini, you can download it below

decrypt the l2.ini then you got a file called l2.clear.ini
edit l2.clear.ini
change the IP as the Lineage2 server which you want to play
ServerAddr=127.0.0.1
crypt the l2.clear.ini using 212 then you got a file called l2.crypt.ini
rename the l2.crypt.ini as l2.ini and copy to your lineage2 system folder

————————————————————————————-

Part 5 – END

##################################################

 

 

 

 

 

Part 6 – GM config

open builder_account under lin2world databse

account_name = your GM account (normal account)
default_builder = 1,2,3,4…9
account_id = your GM account ID (can find out in user_account table under lin2db database)

open user_dat under lin2world database
find out the GM in the GM account
builder = default_builder (1,2,3,4…9)

Part 6 – END

 

7. 运行服务端 (2)

 

 

 

 

 

    1. 2+ Servers on one auth (assembly of varoius texts)

 

 

 

第一步..先确定..单机架设成功..
第二步..复制整个服务器端文件到第2个服务器
第3步..

将你C:\Program Files\Common Files\ODBC\Data Sources
中的lin2db 同lin2world 复制到第2台机子里(用来开l2server.exe,l2npc.exe
在第二个机器上建立dsn
lin2db

[ODBC]
DRIVER=SQL Server
UID=sa
DATABASE=lin2db
WSID=第一个服务器的IP
APP=Microsoft Data Access Components
SERVER=第一个服务器的IP

lin2world

[ODBC]
DRIVER=SQL Server
UID=sa
DATABASE=lin2world
WSID=第一个服务器的IP
APP=Microsoft Data Access Components
SERVER=第一个服务器的IP

第4
l2server.ini和l2npc.ini的ip

l2server.ini的ip都改成第一个机器的ip
2号机上的L2SERVER.INI里的IP全都修改成1号几的IP其中有一段可以先去掉,可以解决Pet itionD载入失败的问题。
[PetitionD]
address=”192.168.2.9″
port=2107
WorldName=”publish03″
;world name must be exact 9 characters.

l2npc里的Ip除了…[server]改成..第2个机器的Ip意外..

其他的也改成第一个机器的Ip..
L2NPC.INI里的这段要修改成2号机IP

[server]
address=”192.168.0.2″
port=2002
第5步—-
修改第一个服务器的sql数据库表..lin2db里的server
id name ip inner_ip ageLimit pk_flag kind port
1 lgs 第2个机器的IP 第2个机器的IP 1 1 1 7777

NPC和L2server都是放在2#服务器上,但是有一点最关键就是在1#服务器数据库里的Lin2DB 数据库中的server表中IP设置两个IP都应该设置为2#服务器的庋涂梢缘锹搅?br >注意:(luhongyu)告诉大家我就用的173m的sina原版AUTH 没有用台湾的,估计大家刚开始的时候,没有发现的原因最近正在研究用sina的公测版本直接进入
SINA版的那个是加密的,我就是用的那个,好像是460KB大小吧,不加密的是410KB左右.
我用ASP注册,那里面是填erpxxx的,就是加密的那个,不加密的是填 none的.我用加密的,可以的,用None注册的话就提示密码错误了
数据库server 表端口是7777.不用打补丁直接用SINA最新客户端

关键的一步
CHN_Server_20040604\NewAuth\etc\config 把 DevServerIP=”10.1.2.250″ 改位第2个机子的ip

还有NewAuth\etc\config.txt、里的DevConnectOuter=t rue

第6步..启动第一个机器的前3个服务..然后启动第2个机器的后2个服务器

 

 

 

 

 

First step. First check that the first single server runs successfully..
Second step. Duplicate the entire server end document to the 2nd server

 

3rd step.
Duplicate in the 2nd thread in your C:\Program Files\Common Files\ODBC\Data Sources lin2db with lin2world (to use for l2server.exe, l2npc.exe) establish dsn on the second machine

lin2db

[ODBC]
DRIVER=SQL Server
UID=sa
DATABASE=lin2db
WSID=First server IP
APP=Microsoft Data Access Components
SERVER=First server IP

lin2world

[ODBC]
DRIVER=SQL Server
UID=sa
DATABASE=lin2world
WSID=First server IP
APP=Microsoft Data Access Components
SERVER=First server IP

4th step
L2server.ini and l2npc.ini ip

L2server.ini ip all alters to the first machine ip
In 2 machine on L2SERVER.INI IP all revises 1 several IP to have a section to be allowed first to remove, may solve PetitionD to write down the defeat the question.
[PetitionD]
address=”192.168.2.9″
port=2107
WorldName=”publish03″
;world name must be exact 9 characters.

In l2npc Ip except that… [ server ] alters to. 2nd machine Ip accident..

Other also alters to the first machine Ip..
In L2NPC.INI this section must revise 2 machine IP

[server]
address=”192.168.0.2″
port=2002

5th step —-
Revises the first server sql database table. lin2db in server
id name ip inner_ip ageLimit pk_flag kind port
1 lgs 2nd machine IP 2nd machine IP 1.117777 million

NPC and L2server all are puts on the 2# server, but has point most is essential is table IP establishes two IP in 1# server database Lin2DB in the database server both to be supposed to establish is the 2# server □a shelf □spreads the tree top reason spade to stir? Br attention: (luhongyu) tells 173m sina which everybody I uses first edition AUTH not useful Taiwan, estimated everybody just started, had not discovered the reason recently was studying with sina male measured the edition directly entered
SINA version that is the encryption, I am that which uses, looks like is the 460KB size, does not encrypt is about 410KB
I use ASP to register, inside that fills in erpxxx, is encryption that, does not encrypt is fills in none I use the encryption, may, registered the speech with None to be wrong on the prompt password
The database server table port is 7777. Does not need to have the patch straight to take over the use of the SINA newest customer end

An essential step
CHN_Server_20040604\NewAuth\etc\config changes DevServerIP= “10.1.2.250” the position 2nd loom ip

Also has NewAuth\etc\config.txt, in DevConnectOuter=true

6th step. Starts the first machine the first 3 services. Then starts the 2nd machine the latter 2 servers

 

 

 

 

 

 

 

PC1: authd, mssql, cache1, logd, iis – 10.1.2.250
PC2: server1, npc1 – 10.1.2.210
PC3: cache2, server2, npc2 – 10.1.2.222
lin2db -> server is as per normal setup

 

when u first run ur PC3 cached.exe
u’ll have to change
C:\Program Files\Common Files\ODBC\Data Sources\lin2world
to
C:\Program Files\Common Files\ODBC\Data Sources\lin2world000
and this will ensure lin2world2 works!!!

so when u run cache2, etc on PC3 just make sure it connects to lin2world2!

 

 

 

If servers are on the same machine, must change ports (7777->7778, 2006->

 

And, of course different WorldID

 

 

then setup lin2world2_Data n lin2world2_log and DSN for PC3 on PC1’s mssql db

PC3 l2cache.ini
[LogD]
address=”10.1.2.250″
port=3999
[World]
WorldId=3
Pair=0
[ItemAudit]
DefaultPriceLimit=2000000
DefaultPriceCheck=1000000
ChgRatioLimit=30
[SQL]
SQLExecLimit = 5000
;clear unowned item data[0:false, 1:true]
ItemClearOnStart=0
DiffBBSConn = 1
SaveQsData=1
BBSDBTimeOut=60
USEBBS=1
[Setting]
country=3
ExceptionMailing=true
MailServer=mail.ncsoft.co.kr

PC3 l2server.ini
[CacheD]
address=”10.1.2.222″
port=2006
[AuthD]
address=”10.1.2.250″
port=2104
[LogD]
address=”10.1.2.250″
port=3999
[World]
WorldId=3
UserLimit=100
;LetBuilder=1

[PetitionD]
address=”172.20.40.185″
port=2107
WorldName=”publish03″
;world name must be exact 9 characters.
[Report]
Interval=60 ;minute
[Setting]
country=3
UserPathFind=true
WorldCollision=false
ExceptionMailing=true
MailServer=mail.ncsoft.co.kr
AcceptLowerProtocol=true
IOBufferCount=1500
;limit hour for week, (number means hour. 0 means don’t use. default is 0)
playtimelimit=0
reconnectauth=1
;use auth reconn (1:use, 0:don’t. default is 0)

PC3 l2npc.ini
[CacheD]
address=”10.1.2.222″
port=2008

[server]
address=”10.1.2.222″
port=2002

[db]
address=”10.1.2.250″
port=2005
user=”gamma”
password=”gemini042158!@#$”

directory=”map”

[LogD]
address=”10.1.2.250″
port=3999

[World]
WorldId=3

[Setting]
country=3
ExceptionMailing=false
MailServer=ncs-mail.ncsoft.co.kr

PC1 – authd
PacketSizeType = 3
ReadLocalServerList=false
OneTimeLogOut=true
CountryCode=2
DevConnectOuter=true
DevServerIP=”10.1.2.250″
SocketTimeOut = 60
;SocketLimit
SocketLimit=5000
AcceptCallNum=1
;UseOneIOCom=true
UseOneIOCom=false
AcceptThread=1
WaitingUserLimit=1000
dumppacket=true
UserData=false
UseLogD=true
logdip=”10.1.2.250″
logdport=3999
logdconnectinterval=120

 

 

 

 

 

Originally Posted by BoTGoD

 

You must have 2 Different CacheD running and add a new DB lin2world2

So setup must be like this

PC1: LogD, AuthD, SQL (IE:Outter_IP=(WANIP) Inner_IP=192.168.0.1)
PC2: L2Server.exe, L2NPC.exe, CacheD.exe (IE: LAN_IP=192.168.0.2)
PC3: L2Server.exe, L2NPC.exe, CacheD.exe (IE: LAN_IP=192.168.0.3)

PC1:
LogD.ini
[LogD]
address=192.168.0.1
port=3999
sendable=true

[LogTable]
Daily=1
BCPFolder=1

[Start]
BCPInt=600000
ServerInt=60000
AutoBCP=1

[World]
WorldId=1

[SQL]
SQLExecLimit=5000
PollingInterval=6000
BCPThreadCount=2

etc\config.txt
serverPort=2104
serverExPort=2106
serverIntPort=2108
worldport=7777
DBConnectionNum=10
encrypt=true
numServerThread=2
numServerExThread=2
numServerIntThread=2
logDirectory=”log”
ProtocolVersion=30810
GameID=8
DesApply=false
PacketSizeType=3
ReadLocalServerList=false <-
Put this False or you will have SQL error.
OneTimeLogOut=true
CountryCode=2
DevConnectOuter=true
DevServerIP=”WAN IP” = Your WAN IP of PC1
SocketTimeOut=400
SocketLimit=5000
AcceptCallNum=1
UseOneIOCom=true
AcceptThread=1
WaitingUserLimit=100
dumppacket=false
UserData=false
UseLogD=false
logdip=”192.168.0.1″ PC1 LAN IP
logdport=3999
logdconnectinterval=120
SupportReconnect=true
AutokickAccount=true
NewEncrypt=false

In SQL -> lin2db -> Server
ID:1, Name:Lineage2, ip:PC2 WAN IP, inner_ip:192.168.0.2, agelimit: 0, pk_flag: 1, kind: 0, port: 7777
ID:2, Name:Lineage3, ip:PC3 WAN IP, inner_ip:192.168.0.3, agelimit: 0, pk_flag: 1, kind: 0, port: 7777

PC2:
L2Server.ini
[CacheD]
address=”192.168.0.2″ = PC2 LAN IP
port=2006

[AuthD]
address=”192.168.0.1″ = PC1 LAN IP
port=2104

[LogD]
address=”192.168.0.1″ = PC1 LAN IP
port=3999

[World]
WorldId=1
UserLimit=2500
LetBuilder=1

[Report]
Interval=60

[Setting]
Country=1
UserPathFind=true
WorldCollision=false
ExceptionMailing=false
MailServer=mail.com
AcceptLowerProtocol=true
IOBufferCount=6000
playtimelimit=0
reconnectauth=1

L2NPC.ini
[CacheD]
address=”192.168.0.2″ = PC2 LAN IP
port=2008

[server]
address=”192.168.0.2″ = PC2 LAN IP
port=2002

[LogD]
address=”192.168.0.1″ = PC1 LAN IP
port=3999


directory=”map”

[World]
WorldId=1

[db]
address=”192.168.0.1″ = PC1 LAN IP
port=2005
user=”sa”
password=”password”

[Setting]
Country=1
ExceptionMailing=false
MailServer=mail.com

CacheD.ini
[Setting]
Country=1
ExceptionMailing=false
MailServer=mail.com

[Logd]
address=”192.168.0.1″ = PC1 LAN IP
port=3999

[World]
WorldId=1
Pair=0

[ItemAudit]
DefaultPriceLimit=100000000
DefaultPriceCheck=50000000
ChgRatioLimit=30
AdenaLimit=100000000
AdenaCheck=50000000
AdenaChgRatioLimit=30

[SQL]
SQLExecLimit=5000
ItemClearOnStart=1
DiffBBSConn=0
SaveQsData=0
BBSDBTimeOut=0
USEBBS=0

PC3
L2Server.ini
[CacheD]
address=”192.168.0.3″ = PC3 LAN IP
port=2006

[AuthD]
address=”192.168.0.1″ = PC1 LAN IP
port=2104

[LogD]
address=”192.168.0.1″ = PC1 LAN IP
port=3999

[World]
WorldId=1
UserLimit=2500
LetBuilder=1

[Report]
Interval=60

[Setting]
Country=1
UserPathFind=true
WorldCollision=false
ExceptionMailing=false
MailServer=mail.com
AcceptLowerProtocol=true
IOBufferCount=6000
playtimelimit=0
reconnectauth=1

L2NPC.ini
[CacheD]
address=”192.168.0.3″ = PC3 LAN IP
port=2008

[server]
address=”192.168.0.3″ = PC3 LAN IP
port=2002

[LogD]
address=”192.168.0.1″ = PC1 LAN IP
port=3999


directory=”map”

[World]
WorldId=1

[db]
address=”192.168.0.1″ = PC1 LAN IP
port=2005
user=”sa”
password=”password”

[Setting]
Country=1
ExceptionMailing=false
MailServer=mail.com

CacheD.ini
[Setting]
Country=1
ExceptionMailing=false
MailServer=mail.com

[Logd]
address=”192.168.0.1″ = PC1 LAN IP
port=3999

[World]
WorldId=1
Pair=0

[ItemAudit]
DefaultPriceLimit=100000000
DefaultPriceCheck=50000000
ChgRatioLimit=30
AdenaLimit=100000000
AdenaCheck=50000000
AdenaChgRatioLimit=30

[SQL]
SQLExecLimit=5000
ItemClearOnStart=1
DiffBBSConn=0
SaveQsData=0
BBSDBTimeOut=0
USEBBS=0

Once you got this setup like this, everything should be ok

 

 

 

——————————————————

 

 

 

 

 

411 C3 auth update:

 

Originally Posted by Livid

 

.0044AD03: E9AA390100
.0044AD08: 90
.0044AD09: 90
.0044AD0A: 90
.0044AD0B: 90

.0045E6B2: 807E0204
.0045E6B8: 7409
.0045E6BA: F3A5
.0045E6BC: FF249518AE4400
.0045E6C3: 6649
.0045E6C5: 668BC1
.0045E6C8: B505
.0045E6CA: F6F5
.0045E6CC: 0006
.0045E6CE: A5
.0045E6CF: A4
.0045E6D0: 66B90500
.0045E6D4: F3A5
.0045E6D6: C60700
.0045E6D9: 47
.0045E6DA: FEC8
.0045E6DC: 3C00
.0045E6DE: 7FF0
.0045E6E0: FF249518AE4400

 

 

 

 

 

3 server change
cmp w,[esi][02],00204
to
cmp b,[esi][02],04
at
0045E6B2
Should do the trick.

 

———————————————————–

 

C4PTS only?:

 

 

 

serverPort = 2104
serverExPort = 2106
serverIntPort = 2108
worldport = 7777
DBConnectionNum=10
encrypt = true
numServerThread = 3 ;thread count on authD server
numServerExThread = 3
numServerIntThread = 3
logDirectory=”\log”
ProtocolVersion = 30810
GameID=8
DesApply=false
PacketSizeType = 3
ReadLocalServerList=false
OneTimeLogOut=true
CountryCode=2
DevConnectOuter=true
DevServerIP=”192.168.0.1″
SocketTimeOut = 60
SocketLimit=5000
AcceptCallNum=3
UseOneIOCom=false
AcceptThread=3
WaitingUserLimit=1000
dumppacket=true
UserData=false
UseLogD=false
logdip=”192.168.0.1″
logdport=3999
logdconnectinterval=120

SupportReconnect=true
;(true=auth-main reconnect on/false=auth-main reconnect off)
AutokickAccount = true
NewEncrypt = false

 

 

 

———————————————————————-

 

.

 

7.2 Eventmatch

 

 

I think i figured out about 99% of this fun little thing hers what I have so far

1) Get yourself to a place where you want to have your event. then type
//eventmatch create 1 team1 team2 1 1 1 100 100 you wont get any conformation if it worked but that’s where step 2 comes in

2) Type //eventmatch list you should see something like
SYS:–Event Match List Begin–
SYS: 1: ‘team1’ vs ‘team2’
SYS –Event match List End–
The number in front of the line that has the 2 teams that you setup in step 1 is your match ID, *The match ID is reset to 1 every server reboot*

3) Next type //eventmatch manage 1, again change the 1 to your match ID. This will bring up the handy match command screen

4) In the top right corner there is a button that says Remove a Race Track *will read “move a Race Tr” * Click that. Now it changed to Create a Race Track *reads “eate a Race Tra”*. in this window click the button that says My Coordinates, that will fill in the X, Y, Z of the center of the new Arena, or Race track as they refer to it as. then the last 2 boxes are the height and width *height is the length of the arena from North to South and the width is the length from East to West in the world. Once that window is all filled in, click Ok

5) Now that your back at the main window, the 2 important items for right now are the Race Setup File and Command File fields. These are the full path to the files, I suggest putting them right in your C: Drive for easy typing, So for example put C:\arena_setup.ini in the Race Setup field and C:\command.ini in the Command File field. *file specs are at the end of this topic*

6) next, we need to setup some teams have the players create parties with the players they wants on there team *Or you can do solo fights*, after they have create there parties select a player from the first team and click Select a target and there name should now be in the represenitive field of that team. Next click Lockup a party to add all the players from that team to the Formation of Team X field below. Repeat this for team 2.

7) After that, your pretty much ready to fight. Have the players come to the inside the 4 posts that where made in step 4. Once there in Click the Fence Up Button, This will put of the wall to the arena, Click it again to lower the wall.

8 ) I would you then type //eventmatch dispelall 1 to debuff everyone in the match *Remember to change the 1 to your match ID* This can be done with the command file also

9) Your ready, Click Start of a Race to get the fancy countdown and big START prompts to all players in the match.

10) After the match is over, for fun you can have fire works go on the winning team players by clicking either, Team1 Fireworks or Team2 Fireworks. The counter towards the bottom should put a point in the winning teams block or you can change it and click Apply

11) After you Res. the dead players you can click Fence Down to let them out, also click Lift a lockup buttons to remove the teams. Or you can click Start a Race again to do a best of 3 or 5 or what ever.

12) Restart at step 6 for your next battle.

Notes
– The message field at the bottom it to send a message to the players in the match, type your message and click Forward , the message length is not that big so be careful

– The Ending Message button will display a big GAME OVER message *It does not end a match or remove a arena*

– To open the command File, click Command at the bottom of the window.

Race Setup File Format
The format is in standard INI format. here is an example one that will
– Buff all players with lvl 70 Dark Elf Elder buffs
– Not allow Hero weapons
– Not allow Cancel, any resurrections or party recall

[etc]

TeleportDelay=2




[Buff]

BuffCnt=10




//Mental shield lvl 4

BuffID0=1035

BuffLv0=4




//Shield lvl 3

BuffID1=1040

BuffLv1=3




//Greater Empower lvl 3

BuffID2=1059

BuffLv2=3




//Might lvl 3

BuffID3=1068

BuffLv3=3




//Focus lvl 3

BuffID4=1077

BuffLv4=3




//Concentration lvl 6

BuffID5=1078

BuffLv5=6




//Resist Wind lvl 3

BuffID6=1189

BuffLv6=3




//Wind Walk lvl 2

BuffID7=1204

BuffLv7=2




//Guidence lvl 3

BuffID8=1240

BuffLv8=3




//Death Whisper lvl 3

BuffID9=1242

BuffLv9=3




[Skill]

DefaultAllow=1

ExpSkillCnt=4




//Cancel

ExpSkillID0=1056




//Return

ExpSkillID1=1050




//Resurrection

ExpSkillID2=1016




//Mass Ressurection

ExpSkillID3=1054




[Item]

DefaultAllow=1

ExpItemCnt=11




//Infinity Blade

ExpItemID0=6611




//Infinity Cleaver

ExpItemID1=6612




//Infinity Axe

ExpItemID2=6613




//Infinity Rod

ExpItemID3=6614




//Infinity Crusher

ExpItemID4=6615




//Infinity Scepter

ExpItemID5=6616




//Infinity Stinger

ExpItemID6=6617




//Infinity Fang

ExpItemID7=6618




//Infinity Bow

ExpItemID8=6619




//Infinity Wings

ExpItemID9=6620




//Infinity Spear

ExpItemID10=6621

I commented it as much as possible but a few things to remember, the XxxCnt items are the amount of things your adding like BuffCnt=7 says your going to list 7 buffs also the XXXXXID and XXXXXlvl are 0 based (a lot like the eventdata.ini in the server scripts folder) another thing to remember, if you disallow a weapon or armor, it is NOT disarmed when the match starts, so be on the look out for that.

The AllowDefult option seems to say weather to read the file of just allow the default, but its backwards DefaultAllow=1 means use the file DefaultAllow=0 means ignore the file

Command File format
Like the race setup file, this is an INI format but a lot simpler,

Here is my example file

[cmd]

CmdCnt=3

Cmd0="//announce Hello World"

Cmd1="//announce Finally figured it out :)"

Cmd2="//eventmatch dispelall 1"

**Good commands added by blondeamon**
Mass Res.
//eventmatch useskill [match_Id] 1016 5
Mass CP recharge
//eventmatch useskill [match_Id] 1306 6

just put the full command in quotes and your done, Dont forget to change the CmdCnt to the ammount of commands you have, and change the number after Cmd if you add more IE Cmd3= would be the next one.

I have not been able to see if there is a variable for the match_id so you will have to change the file to match your match_id.

The one thing I have not figured out is the TeleportDelay option in the Race setup file.

Notes
– Tested and ready to use locations for Gludin Arena: -87908 142217 -3645 910×900 (Thanks blondeamon)
– Tested and ready to use locations for Giran Arena: 72982 142759 -3772 920×900 (Thanks blondeamon)

I hope you all find this to be useful.

Thanks
[OTS]G-Man

——————————————————————–

notes by Stazis

btw i’m pretty sure that DefaultAllow=1 means that all other then listed in file is allowed (e.g. all skills are allowed except those you put in .ini or all items except those you put in .ini)
and vice-versa
DefaultAllow=0 means that only listed items/skills are allowed.

====

i think you should make a notice that those .ini files should be on GM clientside computer – not on serverside. It works with C:/blabla.ini

also notice that creating battle area does not make it ARENA – ppl still losses their percent if battle area is not on arena.
=====

another one thing
//eventmatch create 1 ……
1 – is a match_rule not a match_id – so i think we should make experiments with different match_rules as was said for 9×9 3×3 etc..

=====

//eventmatchop[list | observer]
//eventmatchop observer [match_id] [on|off]

just another interesting commands – allowing you to observe any match =)

and bad news – from what i see from .exe – there is only DEATH_MATCH rule (at least only this is named)

Vycka notes

i think, teleportdalay is used with other match_rule (not with DEATH_MATCH). i saw on official battle tournament event match goes like this:
outside arena zone stands two full parties. and from each party 3 members will teleported into arena. after 3 ppl from one party been killed then after few seconds other 3 members from defeated party have been teleported in the same time and into the same location. and again and again, until one party has no more members left

quote about that from official site:

3 vs. 3 Survivor – Each team is broken down into 3 teams of 3 and sent out into the arena three players at a time. When the 3 member team from one side is defeated, the next 3 member team is immediately sent in. The team to eliminate all 9 opposing players is the victor of this round.

so i guess that 3 match_rules exists.
depending from official tournament:
9 vs. 9 Full Team (default rule, after fences have been created)
3 vs. 3 Survivor

and teleport delay guess also goes to this one:
1 vs. 1 5 Man Survivor – 5 members are selected from each team and sent out into the arena one at a time. When a member from one side is defeated, the next team member is immediately sent in. The team to eliminate all 5 opposing players is the victor of this round.

————————————-

as far as i know you can’t enter in match_rule any string. even if other rules exists in pts files they dont have its name like stazis said only DEATH_MATCH is named. what can be other ids only good asm programer can tell if they exists.. number range can be also diffrent, if ncsoft uses byte variable then normal gm in a few days can check all availible numbers (0-255) if its a unsigned int or long then only asm programer can help..

problems/solutions

sameone knows how to make that kind off event with a full party going 3x3 ?

Just let them make a party. After that select one press select target and
lock-up party.

Same for team2

 

there's a problem with mana recovering, i don't know a way to recover it 

 

“//eventmatch useskill 1 10006 1”
or
//GM recharge
BuffID1=10006
BuffLv1=1

 

Must to be in race.ini

Opening/closing the coliseum doors, write in Command File:

[Cmd]

CmdCnt=13

Cmd0="@LABEL: Colosseum command" 

Cmd1="@LABEL: CLOSE BEHIND DOORS" 

Cmd2="//set_door_status aden_colosseum_001_001 close"

Cmd3="//set_door_status aden_colosseum_002_002 close"




Cmd4="@LABEL: CLOSE FRONT DOORS" 

Cmd5="//set_door_status aden_colosseum_001_002 close"

Cmd6="//set_door_status aden_colosseum_002_001 close"




Cmd7="@LABEL: OPEN BEHIND DOORS"

Cmd8="//set_door_status aden_colosseum_001_001 open"

Cmd9="//set_door_status aden_colosseum_002_002 open"




Cmd10="@LABEL: OPEN FRONT DOORS"

Cmd11="//set_door_status aden_colosseum_001_002 open"

Cmd12="//set_door_status aden_colosseum_002_001 open"

Skill GM recharge do not exist. How recharge mana ?
 

Just add new skill to skilldata and skill_pch, see example in other recharge skills in your skilldata. You can also add skill to recharge cp/hp/mp at once.

Examples:

 手游服务端架设一条龙_vm服务器

//eventmatch create 1 team1 team2 1 1 1 100 100

yes, changing the race track does change the id. if you dont want to do that, check your location before you set it up (/loc) :

In the orange part, the teams can be any name u want. In the bolded part, put your location (x y z). in the red part, put the arena size you want, small events (such as 1v1) 500 500 will suffice. for larger events 1000 1000 will be great (that 4x as big as the 500 500).

example (note the location there is just random numbers):
//eventmatch 1 Fury Oath 185213 -21545 -3500 500 500

teams: Fury, Oath
loc: 185213 -21545 -3500
arena size: 500×500

 

 

there’s my race.ini config…
auto recovers 100% hp and cp at the end of the fight count.
there’s a problem with mana recovering, i don’t know a way to recover it 100%, i’m using mana potion ( last for 10sec) but that can be a advantage for some classes like OVERLORDS.
also ppl cannot use mana and heal potions. xD

[etc]
TeleportDelay=2

[Buff]
BuffCnt=1
DefaultAllow=1

//ARENA: CP Recovery
BuffID0=4380
BuffLv0=1

//Greater Battle Heal
BuffID1=1218
BuffLv1=170

[Skill]
DefaultAllow=1
ExpSkillCnt=1

//Return
ExpSkillID0=1050

[Buff]
BuffCnt=4

//DISPELL DEBUFF
BuffId0=7002
BuffLv0=1

//HEALTHY
BuffId1=3598
BuffLv1=1

//MANA HEAL
BuffId2=34999
BuffLv2=1

//CP RECOVERY
BuffId3=4380
BuffLv=1

[Item]
DefaultAllow=1
ExpItemCnt=9

//Mana Potion
ExpItemId0=728
//Healing Potion
ExpItemId1=727

//Healing Medicine
ExpItemID2=2060

//Quick Healing Potion
ExpItemID3=2038

//Healing Potion
ExpItemID4=2032

//Lesser Healing Potion
ExpItemID5=2031

//Healing Potion
ExpItemID6=1539

//Healing Drug
ExpItemID7=2002

//Mana Potion
ExpItemID8=728

and command file config, this really make my life easier to close and open coliseum doors.

[Cmd]
CmdCnt=11
Cmd0=”LABEL: CLOSE ALL DOORS”
Cmd1=”//set_door_status aden_colosseum_001_001 close”
Cmd2=”//set_door_status aden_colosseum_001_002 close”
Cmd3=”//set_door_status aden_colosseum_002_001 close”
Cmd4=”//set_door_status aden_colosseum_002_002 close”

Cmd5=”LABEL: OPEN BEHIND DOORS”
Cmd6=”//set_door_status aden_colosseum_001_001 open”
Cmd7=”//set_door_status aden_colosseum_002_002 open”

Cmd8=”LABEL: OPEN FRONT DOORS”
Cmd9=”//set_door_status aden_colosseum_001_002 open”
Cmd10=”//set_door_status aden_colosseum_002_001 open”

 

 

8. Web Registration Page

 

 

———————————————————————————————–
ASP Account Registeration System
———————————————————————————————–

Extract L2Asp.zip to your C:\Inetpub\wwwroot (or wherever you have as your IIS root directory, this is default)

If you don’t have Internet Information Services installed. Then you’ll need to find your Windows XP Pro CD. Go to Add/Remove Program and select “Add/Remove Windows Components” -Select Internet Information Services from the list and install it.

Open the conn.asp (from the directory that you just extracted to) with notepad and change the following:
ms_sql_server_host_addr = “127.0.0.1” //This should be set to your WAN IP. Leave it as 127.0.0.1 if you want to just manually make accounts on your computer for your friends.
sql_server_username = “sa”
sql_server_password = “l2online”
save and close the file.

Open control panel, click administrative tools, then double click Internet Information Services. Click on local computer then click websites. Right click default websites and go properties. Click on the documents tab and then the add button. Under default document name type index.asp then press OK. Select index.asp and use the up arrow to move it to the top of the list then press OK.

手游服务端架设一条龙_vm服务器

 

Close IIS and open internet explorer and type http://127.0.0.1 (where 127.0.0.1 is your internal IP)
Once the website comes up click register. Then enter a username and a password and click next.

You have now made an account on your server.

 

9. RED Errors

 

I do not apply for a correctness of diagnostics of errors. But the most part is precisely known. If you know the exact answer under the description and correction of a an error, tell, I shall add/shall correct my message. I hope, that this theme will help much, including to me.

= CacheD =
1)
[Account.cpp][381] Cannot load day uesed time for account [34979]
[Account.cpp][321]Error. Cannot load Week play time, account id [34979]

–> Non existing table in user db.
–> You can add stored procedure for ignoring or enable payment system – how much money = gameplay time

2) Error 23000:[Microsoft][SQL Native Client][SQL Server]Cannot insert duplicate key row in object ‘dbo.user_data’ with unique index…
–> Need check and fix SQL DataBase (see SQL scripts for checking)

3)Invalid WriteLogout FENIXraid(178040), Niket (35212), (0)

4)Warehouse error. (487)[10541][-150][_]. over limit. [122][120]
Warehouse rollback. (487)

–> player have 122 items, but should have 120. 487 seems to be line in source (thanks for report “hr”)

5)Error 23000:[Microsoft][SQL Native Client][SQL Server]duplicated pet name[POKEMON]
–> Maybe players use pet dup bug
–> seeems to be the same to 2 (normal situation)

6)can not create char. too many chars [7]
–> Player try create one more characters on account. But a limit will reach.

7)[Warehouse.cpp][3537] Try hack ? . dbid[15665716]
–> Arises at ‘lags’. The server has already moved a subject in warehouse, but the player still tries to execute action of carry.

8)[Warehouse.cpp][3933]Useitem::Cannot find item, [16614185][2][1][26318][21400][1209037934]

9)fetch error
sqlstate 24000
msgText [Microsoft][SQL Native Client][SQL Server]Invalid cursor state
sql EXEC lin_GetUserDataByCharId 0
[User.cpp][2455] undefined (or unregistered) char Id[0]
— call stack —
[0] void IOThread_common(void *arglist)
[1] void CPacket::OnIOCallback(BOOL bSuccess, DWORD dwTransferred, LPOVERLAPPED lpOverlapped)
[2] cpacket::oniocallback_funccall
[3] static bool requestRestoreCharacter(CSocket* pSocket, const unsigned char* packet)
[4] CUserSP CUserDB::GetUser(int nUserId, bool bLoadIfNotExist)
[Socket.cpp][6135]Cannot find user, char id[0]

10) PGFCV failed 800007d6

= L2Auth =
1) 2005.11.16 18:46.32:1052: bad packet size 30053
–> User tries to come with the non-standard lineage2 client. Example, telnet, hack and etc.

2)2006.03.28 20:25.27:*close connection from 127.0.0.1, 140(8d9358)
–> normal disconnect L2Server

= L2Server =

1) Invalid protocol [Client:551] [Server:530]
–> user connect with old engine.dll.
1.1) Invalid protocol [Client:419] [Server:530]….. disconnect
–> user connect with old engine.dll. server block this connection (see l2server.ini)

2) [UserSocket.cpp][5579] user[xxxMCKOL9Nxxx] invalid skill id, level. Hack?
–> user have non existing skill. Example, update skilldata have removed some skill levels on skill.
Check user db. remove bad levels on this skill
–> not at all, in that case you will see “unregistered skill”. this error seems to be a lag during learning skills (report “hr”)

3) [UserSocket.cpp][1084] User[Runa] trying get invalid item
–> Log at a raising of a thing from the ground. The thing is already lifted, and other player tries to take too most.

3) slotnum = 839007878 > 100 (type[80916], id [-3542], user[2017404580] at file[ShortCut.cpp], line[73]
–> Attempt to lay out on the panel skill/action, with ID is more than button than 100 (in C3 – 12 panels on 12 buttons,
and in c1 were 10 on 10). Use Exec hex Fix for enable all 12 panels.

4) Invalid Say Type: -1912602625
–> non existing Say Message in ‘fstring.txt’, but Npc try Shout this Message. Check AI for this npc and check fstring for this message.

5) try dual login. kicked.[propet][24019]
–> Lags effect. The user often presses the button the Login or Start.

6) invalid amount at file[UserSocket.cpp], line [1380]
–> attempt to push stocked a subject in a heap same, but them there already a maximum. Check itemdata.txt for this item.

7) [pc_param.cpp][532] Some parameter is invalid sex[1] clstype[8] moverype[79745] envtype[0]
[UserSocket.cpp][2769] ShortCutUsePacket deprecated!!!

–> ‘Lag’ or substitution of a package. Maybe bot.

8) item [id:13781] null at file[UserSocket.cpp], line [898]
–> check itemdata DB in SQL

9) [UserSocket.cpp][5683]Unknow Restart Point[79738].
living user called RestartPointPacker! ban this user!

–> Ban! :) No waiting. Bot-teleporting.

10) [ShortCut.cpp][372] CShortCut::SendShortCutInfo failed. cannot find item
cannot add short. skill is not exist or passive[211]

–> Error in skill config or in user skill db table. Check user db and fix bad skill.
–> Or skill is passive, but user try use this skill as active skill

11) invalid ammount at file[UserSocket.cpp], line [1380]
–> Error in stocked settings in itemdata. Check itemdata.txt for this item.

12) dwTime[58]<80 !!!!!!!
–> Sql lag time. check connection to SQL server, check network speed

13) [UserSocket.cpp][5543] hacking? user[Jazz] skill_name_id is invalid
–> non existing skill somebody use. Check mobs skills and skilldata and user skills db.

14) someone requiests OustPartyMemberPacket, but User has no party
–> user try press Action button “Change leader”. Button non worked in C1 server… in C4 too. Use real official server for support this.

15) index is not for NPC! at file[NpcSocket.cpp], line[267]

16) Already send list.
–> User try send duplicate message in GM send message panel.

17) [Skill.cpp][554] Unregistered skill [0-17]
–> user have non existing skill. Example, update skilldata have removed some skill levels on skill.
–> check user db. remove bad levels on this skill
–> bad skill_pch file. Mob use Unregistered (in pch file) skill. Make correct pch file. Use L2ScriptMaker :)

18) Barhan use unknow command : creat_pet
–> GM use non existing gm command. Ban GM :)

19) [Path.cpp][552] Invalid offset[0] count[0]

20) [u][921]What a wonderful world. item server id[7733314], amount[442826855]
–> bugged network packet

21) [ioc.cpp][1212] CIOSocket::_Write – WSASend fail. error(10054)

22) container NULL pos[16926, 107112] at file [world_server.cpp], line [568]
–> non existing geodata file for this location (see coordinates)

23) Uncached HTML[]
[] File does not exist

–> 1. baguser use non existing html
–> 2. html file have bad link url to non existing html

24) [Path.cpp][541] invalid pos(-104613,262399) zone[16][26]
–> non existing geodata file for this location (see coordinates)

25) invalid amount (DropItem : 0 of 1342 by DarkLine) at file[UserSocket.cpp], line[946]
–> trying to drop wrong count (or more than have)

26) [UserSocket.cpp][5746]Try hack. Not a GM try GMCommand packet. [TrojanVirus] ip address 212.220.222.51
–> ban user

27) [Residence.cpp][626] undefined (or unregistered) Residence[41797]
–> clan have non existing castle/clanhall. check residence number in clan db

28) [User.cpp][7695] CItem::FindObjectSP Failed

29) Multisell fail
–> item locked to exchange, because item On player (example, weapon, armor)

30) data link too long!

31) actor (1808230891, 10992819, -1298392) in AsyncMove, failed to pop from GetContainer!!!
–> 1. network lag
–> 2. crash server bug

32) Suspicious attaking user ip[85.115.164.71]
–> ban ip

33) [UserSocket.cpp][4572]Choose inventory item fail. Pending item is null error. target item is not exist.

34) depth>200 at file[NPC.cpp], line[935]

35) living user called RestartPointPacker! ban this user!
Cannot kick (27528)(cmer4)

36) CPledge[4077]::DeleteMember[1209012037]-> Cannot find

37) [c:\serverservice\l2server\ThreadLocalWorldMap.h][642] removing not linked item

38) SocialActionType[77680] > LAE_MAX[32]

39)[ObjectDB.cpp][168] undefined (or unregistered) Name [clavir]
–> npc, item non exist for summon, because or non exist in configs or need make correct _pch file. (See sample – non exist “Clavir”. Correct name “Clavier”)

40)[ObjectDB.cpp][182] undefined (or unregistered) ClassId[8073]
[ObjectDB.cpp][376] CreateItem Failed. GetObject Failed)

–> non existing item_id in player inventory. Check user db and remove bad item.

41)trying to multiple push!
–> someone is clicking login button a LOT (thanks OnlyOne)
–> This also happens when someone clicks a link a lot of times, i.e. a recipe fille (with lag). (report Aikeleer)

= NPC =
1) [c:\serverservice\l2npc\Utils.h][197] Bit flag Index[320] overflow

2) [serversocket.cpp][2106] Invalid user [4830194a]

3) MakerLog ( event_t21_21_trakia_01)’s ( 54530, 113967, -2232) [redeye_leader_trakia] was dropped. npcpos (-1280) -500> …

–> Incorrect Z parameter in npcpos config for this npc. Mobs droped to undergroung or fall from sky to ground on respawn.

4) SpawnDefineName[] GetSpawnPositionSize()<=0 == NULL at file[NpcMaker.cpp], line[61]

 

2) Error 23000:[Microsoft][SQL Native Client][SQL Server]Cannot insert duplicate key row in object ‘dbo.user_data’ with unique index…
–> Need check and fix SQL DataBase (see SQL scripts for checking)

Actually not, read about unique indexes and why they are using

Code:

4)Warehouse error. (487)[10541][-150][_]. over limit. [122][120]

Warehouse rollback. (487)

–> Player warehouse have 487 items, but cacheD warehouse have maximum on 300 items.

player have 122 items, but should have 120. 487 seems to be line in source

Code:

5)Error 23000:[Microsoft][SQL Native Client][SQL Server]duplicated pet name[POKEMON]

–> Maybe players use pet dup bug

seeems to be the same to 2)

Code:

2) [UserSocket.cpp][5579] user[xxxMCKOL9Nxxx] invalid skill id, level. Hack?

–> user have non existing skill. Example, update skilldata have removed some skill levels on skill.

Check user db. remove bad levels on this skill

not at all, in that case you will see “unregistered skill”. this error seems to be a lag during learning skills

Code:

25) invalid amount (DropItem : 0 of 1342 by DarkLine) at file[UserSocket.cpp], line[946]

trying to drop wrong count (or more than have)

 

41)trying to multiple push!

someone is clicking login button a LOT

(thanks OnlyOne)

This also happens when someone clicks a link a lot of times, i.e. a recipe fille (with lag).

 

2) [UserSocket.cpp][5579] user[xxxMCKOL9Nxxx] invalid skill id, level. Hack?

–> user have non existing skill. Example, update skilldata have removed some skill levels on skill.

Check user db. remove bad levels on this skill

–> not at all, in that case you will see “unregistered skill”. this error seems to be a lag during learning skills (report “hr”)

Much more often occurs that the player has gone a bot and uses options for the character of other class / level.

20) [u][921]What a wonderful world. item server id[7733314], amount[442826855]
–> bugged network packet

Hm, if your watch_list parsing as well – this message you can see when item from watch list appear on your server.

just trace this packet.

手游服务端架设一条龙_vm服务器

pConstFrom null index at file[world_server.cpp], line[2097]
Solution: Geodata problem

 

10) PGFCV failed 800007d6

delete perfmon.ini /Uninstall sp1 (W2k3)

or

in file perfmon.ini change
CheckPerfMon to 0

 

04/01/2006 13:47:00.796, [ScriptEngine.cpp][849] Max Loop Count exceede!!!
an ai script is looping but it reached the max

 

All messages with “WARN:..” – Tontor-antihack-protector. Read FAQ for Tontor patch

 

serverClose:Createsocket fail

and

non-registered world server 127.0.0.1

look in your server table odd are your missing the servers entry, or have wrong IP.

one thing to keep in mind is if you server is connecting to the auth server with 127.0.0.1 then put 127.0.0.1 as the internal IP if the server is connecting to a 192.168.x.x address even if its on the same PC you must put the full 192.168.x.x

 

during installation pls note:
1. at executing DBScript, u could encounter the following error
Specified owner name DBOeither does not exist or you do not have permission to use it
Invalid column name
shop_Income_Temp
Must declare the variable
@dbname
…..
this is due to case-sensitive reasons, to solve:
1) change all variables to small case
2) change the db default language to Chinese_PRC_CI_AI then execute the DBscript again

 

1.[rune09_2116_23] failed to increase total npc because of npc quota [11 / 10]

 

2…[pos]…[mob_name] is outsider

Geodata for the area is not ‘perfect’ but still working.

This mean the mob could not spawn where it randomly generated the place for it to spawn.

The NPC Quota problem I think is npcpos scripting errors (why would two npc spawn (like a shop npc) in npcpos – that is why they use NPC Quota.

NPCQuota 1 = 1 mob spawn
NPCQuota 10 = up to 10 mobs spawn

 

trying to move vehicle to invalid position (-71651, 262159) at file[.\world_server.cpp], line[2321]

geodata problem – or vehicle trying move to coordinates not presented in current geodata version

 

1. sql execution time [5016]ms, sql[EXEC lin_GetUserLogTime 16, 1, 1]

just saying the SQL call too a long time (5016MS to be exact, i would chect your DB server and see it the network connection is lagging or something on there slowing down SQL

 

2. Error sql: EXEC lin_SetLastTaxUpdate ‘2006-9-30 12:0:6’, ‘2006-9-31 0:27:12’, ‘2006-9-31 6:0:14’ (0)
Error 42000:[Microsoft][ODBC SQL Server Driver][SQL Server]Error converting data type varchar to datetime.
[.\Socket.cpp][12448] cannot update last tax change date.

2 – Change the date format. Should be dd.mm.yyyy, time hh:mm:ss

 

转载于:https://www.cnblogs.com/kt007/p/10308435.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196115.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • mac系统下mysql开机启动总是3307

    mac系统下mysql开机启动总是3307

  • PostScript——学习postscrip

    PostScript——学习postscrip本文转载自:https://www.cnblogs.com/wurui1994/p/6290969.html1.前言PostScript是一种编程语言,直译为"后处理脚本"[相

  • 史上最全69道Spring面试题和答案

    史上最全69道Spring面试题和答案目录Spring概述 依赖注入 Springbeans Spring注解 Spring数据访问 Spring面向切面编程(AOP) SpringMVCSpring 概述1. 什么是spring?Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Ja…

  • python线性回归算法「建议收藏」

    python线性回归算法「建议收藏」1.线性回归算法2.在Python中实现线性回归那我们如何在Python中实现呢?利⽤Python强⼤的数据分析⼯具来处理数据。Numpy提供了数组功能,以及对数据进⾏快速处理的函数。Numpy还是很多⾼级扩展库的依赖,⽐如Pandas,Scikit_Learn等都依赖于它。Scikit_Learn扩展库,这是⼀个机器学习相关的库。它提供了完善的机器学习⼯具箱,包括数据预处理、分类、回归、预测等。2.1安装sklearn⼯具本⾸先进⼊到虚拟环境cd~/Desktop/env_s

  • nslookup命令的使用方法_nslookup测试命令

    nslookup命令的使用方法_nslookup测试命令介绍nslookup(nameserverlookup)是和dig类似的命令,都是用来查询域名信息的指令,但是在功能上没有dig强大,这个指令在Windows系统是自带的,要想在Linux中使用,就需要下载和dig相同的工具包使用nslookupdomain[dnsserver]#domain:要查询的域名dnsserver:指定域名服务器,如果不指定,系统就会使用默认的DNS服务器如果没有指定查询的服务类型,系统会默认查询A记录查询其他的服务nsloo

    2022年10月18日
  • postman接口自动化测试实战_python API

    postman接口自动化测试实战_python APIApifox介绍Apifox是API文档、API调试、APIMock、API自动化测试一体化协作平台,定位Postman+Swagger+Mock+JMeter。通过一套系

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号