01-02-2016, 12:45 AM
Здравствуйте, есть проблема с запуском шаровой ПТС ИЛ сборки.
Имеется:
-Win 2003 server x64 (через VB)
-MSSQL 2005
-Л2 ИЛ ПТС Ванг 1.2.3.6
-кривые руки
Серв ставил\настраивал по стандартной с инета схеме:
В результате сервер работает, захожу чаром, с ГМ правами, експ/сп получается при килле мобов (сборку шаравую от вампа запускал...даже експ не получал от убийства гремлинов), большинство команд работает и вот в чем проблема:
1. при первом заходе перса на сервер ошибки:
а) в окне l2server:
б) в окне CacheD:
в) в окне LogD(часть):
Можно ли это исправить?
по ошибке mssql искал решение...там говорят на заморском, дописать какую то процедуру...не въехал =\
http://archive.midrange.com/rpg400-l/199...00011.html
Заранее спасибо за помощь
Имеется:
-Win 2003 server x64 (через VB)
-MSSQL 2005
-Л2 ИЛ ПТС Ванг 1.2.3.6
-кривые руки
Серв ставил\настраивал по стандартной с инета схеме:
Код:
Открываем Lin2srv/etc/config.txt
Изменяем DevServerIP="IP" на ваш WAN IP.
Изменяем logdip="IP" на ваш LAN IP
Открываем CacheD/l2cache.ini
Изменяем address="IP" на ваш LAN IP
Открываем L2LogD/l2logd.ini
Изменяем address="IP" на ваш LAN IP
Открываем L2NPC/L2NPC.ini
Изменяем в 4-х местах address="IP" на ваш LAN IP
Изменяем user="username" на ваш SQL аккаунт
Изменяем password="pass" на ваш SQL пароль
Открываем L2Server/l2server.ini
Изменяем в 4-х местах address="IP" на ваш LAN IP
Изменяем reconnectauth=1 на reconnectauth=0
Открываем Petition/etc/config.txt
Изменяем webAuthServer="IP" на ваш LAN IP
Установка SQL
Настройка SQL части сервера
Открываем DBScript/lin2comm_new.sql
найдите в 3-х местах:
set @conn_str = '127.0.0.' + @world_id + ''';''user'';''pass'
измените 127.0.0. на ваш LAN IP (без последней цифры)
измените user на ваш SQL аккаунт
измените pass на ваш SQL пароль
найдите:
'SQLOLEDB', '127.0.0.1';'user';'pass'
измените 127.0.0.1 на ваш LAN IP
измените user на ваш SQL аккаунт
измените pass на ваш SQL пароль
Открываем DBScript/lin2world_200040609_all.sql
найдите в 3-х местах:
set @conn_str = '127.0.0.' + @world_id + ''';''user'';''pass'
измените 127.0.0. на ваш LAN IP (без последней цифры)
измените user на ваш SQL аккаунт
измените pass на ваш SQL пароль
найдите в 2-х местах:
'SQLOLEDB', '127.0.0.1';'user';'pass'
измените 127.0.0.1 на ваш LAN IP
измените user на ваш SQL аккаунт
измените pass на ваш SQL пароль
Установка MS SQL
Установите MS SQL.
Зайдите в Старт меню, найдите Microsoft SQL Server и там запустите Service Manager
Убедитесь что сервер SQL запущен, т.е. нажмите в Service Managerе зелёную кнопку Start/Continue, если она нажата то значит сервер SQL запущен.
Зайдите в Старт меню, найдите Microsoft SQL Server и там запустите Enterprise Manager. Нажмите 2 раза по иконке SQL Server Group, потом снова нажмите 2 раза по иконке подписаной как (local). Вылетит окошко, нажмите на нём ОК. Потом заходим в папку Databases и создаём там следующие базы данных (правый клик и затем New Database, выскачет окошко и в поле Name вводите следующее названия) :lin2world, lin2comm, lin2log, lin2report, lin2db, petitio.
Закрываем это окно
Зайдите в Старт меню, найдите Microsoft SQL Server и там запустите Query Analyser
Выскочит окошко в Дропменю (SQL Server) выберите свой запушенный SQL Server и нажмиет OK
Сверху будет панель и на ней вы снова найдёте дропменю. Выберите там lin2world, затем нажмите кнопку Открыть (Load SQL Script или Ctrl + Shift + P) и ищем файл lin2world_20040609_all.sql расположенный в папке DBScript. Открываем его. Затем жмём кнопку Parse Query, она всё тамже на баре сверху. Когда операция завершиться жмём кнопку Execute Query она рядом с кнопкой Execute Query. После завершения операции сохроняем всё.
Сверху будет панель и на ней вы снова найдёте дропменю. Выберите там lin2comm, затем нажмите кнопку Открыть (Load SQL Script или Ctrl + Shift + P) и ищем файл lin2comm_new.sql расположенный в папке DBScript. Открываем его. Затем жмём кнопку Parse Query, она всё тамже на баре сверху. Когда операция завершиться жмём кнопку Execute Query она рядом с кнопкой Execute Query. После завершения операции сохроняем всё.
Сверху будет панель и на ней вы снова найдёте дропменю. Выберите там lin2log, затем нажмите кнопку Открыть (Load SQL Script или Ctrl + Shift + P) и ищем файл lin2log_20040416.sql расположенный в папке DBScript. Открываем его. Затем жмём кнопку Parse Query, она всё тамже на баре сверху. Когда операция завершиться жмём кнопку Execute Query она рядом с кнопкой Execute Query. После завершения операции сохроняем всё.
Сверху будет панель и на ней вы снова найдёте дропменю. Выберите там lin2report, затем нажмите кнопку Открыть (Load SQL Script или Ctrl + Shift + P) и ищем файл lin2report_20040416.sql расположенный в папке DBScript. Открываем его. Затем жмём кнопку Parse Query, она всё тамже на баре сверху. Когда операция завершиться жмём кнопку Execute Query она рядом с кнопкой Execute Query. После завершения операции сохроняем всё.
Сверху будет панель и на ней вы снова найдёте дропменю. Выберите там lin2db, затем нажмите кнопку Открыть (Load SQL Script или Ctrl + Shift + P) и ищем файл lin2db_AuthDBSchema.sql расположенный в папке DBScript. Открываем его. Затем жмём кнопку Parse Query, она всё тамже на баре сверху. Когда операция завершиться жмём кнопку Execute Query она рядом с кнопкой Execute Query. После завершения операции сохроняем всё.
Сверху будет панель и на ней вы снова найдёте дропменю. Выберите там lin2db, затем нажмите кнопку Открыть (Load SQL Script или Ctrl + Shift + P) и ищем файл lin2db_update.sql расположенный в папке DBScript. Открываем его. Затем жмём кнопку Parse Query, она всё тамже на баре сверху. Когда операция завершиться жмём кнопку Execute Query она рядом с кнопкой Execute Query. После завершения операции сохроняем всё.
Сверху будет панель и на ней вы снова найдёте дропменю. Выберите там petition, затем нажмите кнопку Открыть (Load SQL Script или Ctrl + Shift + P) и ищем файл petition.sql расположенный в папке DBScript. Открываем его. Затем жмём кнопку Parse Query, она всё тамже на баре сверху. Когда операция завершиться жмём кнопку Execute Query она рядом с кнопкой Execute Query. После завершения операции сохроняем всё.
Закрываем это окно.
Открываем Service Manager и ищем там базу данных lin2db. Жмём на неё 2 раза выскакивает окошко, нажимаем ОК. Находим там иконку подписаную как Tables и 2 раза нажимаем. Появиться список. Ищем в списке Server жмём на нём правой кнопокой, ищем слова Open Table наводим мышкой, ждём пока выскочит подменю и там нажимаем Return all rows. Добавляем следующую информацию в появившееся окошко (натроить под себя):
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
Закрываем это окно.
DNS
Открываем Control Panel, ищем и открываем Administrative tools, снова ищем в новом окне и открываем Data Sources (ODBC)
Ищем закладку File DSN, нажимаем на неё и там нажимаем на кнопку Add.
Из списка выбираем SQL Server обычно в самом низу и жмём Next
Задаём имя lin2world и жмём Next пока не появиться окошко выбора сервера.
Поле Discription оставляем пустым, в нижнем поле выбираем (local)
Жмём Next до тех пор пока не будет написано Change Default Database to. Ставим галку и выбираем lin2world
Такую операцию проделать для всех 6 баз, только естественно одноименных DNS
Настройка системного INI
Идём в Coltrol Panel жмём 2 раза на иконку System, в появившемсе окне нажимаем закладку Advanced.
Нажимаем кнопкку Settings которая относится к Performance и во вновь появившемсе окне жмём Advanced
Жмём кнопку Virtual Memory. В поле Initial size (MB) ставим 1024 в поле Мaximum ставим 4096 и жмём кнопку Set.
Открываем Файл C:\Boot.ini и меняем в нём следующее
Находите: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Micro soft Windows XP Professional" /nodetect
В конце добавляете /3GB
Получается: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Micro soft Windows XP Professional" /nodetect /3GB
Перезагружаем комп.
Запуск Сервера
Запускать только в этом порядке:
L2LogD.exe
File DB = lin2log
login name = Ваш SQL аккаунт
password = Ваш SQL пароль
CacheD.exe
File DB = lin2world
login name = Ваш SQL аккаунт
password = Ваш SQL пароль
L2AuthD.exe
File DSN = lin2db
login name = Ваш SQL аккаунт
password = Ваш SQL пароль
PetitionD.exe
Server = (local)
login name = Ваш SQL аккаунт
password = Ваш SQL пароль
Database = petition
L2Server.exe
L2NPC.exe
В результате сервер работает, захожу чаром, с ГМ правами, експ/сп получается при килле мобов (сборку шаравую от вампа запускал...даже експ не получал от убийства гремлинов), большинство команд работает и вот в чем проблема:
1. при первом заходе перса на сервер ошибки:
а) в окне l2server:
Код:
[COLOR="Red"]
-Kicked for invalid items. (char_name)(3) [/COLOR](перс появляется полностью голым и через пару сек дисконект (гном))
[COLOR="Red"]
-error. in db pickitem. db fail. [/COLOR](рекконект, при подъёме адены с гремлинов, убитых голыми руками :))
б) в окне CacheD:
Код:
[COLOR="Red"]
fetch error
sqlstate 22002
msgText [Microsoft][ODBC SQL Server Driver] Требовалось, но не была предоставлена переменная индикатора sql EXEC lin_CreateItem 3,2370,1,0,0,0,0,0,0
fetch error
sqlstate 22002
msgText [Microsoft][ODBC SQL Server Driver] Требовалось, но не была предоставлена переменная индикатора sql EXEC lin_CreateItem 3,10,1,0,0,0,0,0,0
fetch error
sqlstate 22002
msgText [Microsoft][ODBC SQL Server Driver] Требовалось, но не была предоставлена переменная индикатора sql EXEC lin_CreateItem 3,1146,1,0,0,0,0,0,0
fetch error
sqlstate 22002
msgText [Microsoft][ODBC SQL Server Driver] Требовалось, но не была предоставлена переменная индикатора sql EXEC lin_CreateItem 3,1147,1,0,0,0,0,0,0
fetch error
sqlstate 22002
msgText [Microsoft][ODBC SQL Server Driver] Требовалось, но не была предоставлена переменная индикатора sql EXEC lin_CreateItem 3,5588,1,0,0,0,0,0,0
[.\socket.cpp][1206] Cannot find item. [2370]
[.\socket.cpp][1206] Cannot find item. [1146]
[.\socket.cpp][1206] Cannot find item. [1147]
[.\user.cpp][4150] Cannot find item. [5588]
msgText [Microsoft][ODBC SQL Server Driver] Требовалось, но не была предоставлена переменная индикатора sql EXEC lin_CreateItem 3,5588,1,0,0,0,0,0,0
[.\WareHouse.cpp][4638]request manipulate item char[3] Cannot create item. class id[5588] request manipulate item char[3] item[5588][1][0][0][0][0]
[/COLOR]
в) в окне LogD(часть):
Код:
[COLOR="Red"]
01/01/2016 23:33:02.640, Error sql: EXECUTE lin_CheckLogTimeTable2 'L2016_01_01_', 1 (0)
01/01/2016 23:33:02.640, Error 42000:[Microsoft][ODBC SQL Server Driver][SQL Server]Could not find stored procedure 'lin_CheckLogTimeTable2'.
01/01/2016 23:40:53.453, Error sql: EXECUTE lin_CheckLogTimeTable2 'L2016_01_01_', 1 (0)
01/01/2016 23:40:53.453, Error 42000:[Microsoft][ODBC SQL Server Driver][SQL Server]Could not find stored procedure 'lin_CheckLogTimeTable2'.
01/01/2016 23:40:53.625, Error sql: insert into L2016_01_01_log_realtime_1(act_time, log_id, etc_num1, etc_num2) values('2016/1/1 23:40:52.640',1306, 2, 1)
(0)
01/01/2016 23:40:53.625, Error 42S02:[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'L2016_01_01_log_realtime_1'.
01/01/2016 23:42:23.625, Error sql: EXECUTE lin_CheckLogTimeTable2 'L2016_01_01_', 1 (0)
01/01/2016 23:42:23.625, Error 42000:[Microsoft][ODBC SQL Server Driver][SQL Server]Could not find stored procedure 'lin_CheckLogTimeTable2'.
01/01/2016 23:42:23.625, Error sql: insert into L2016_01_01_log_realtime_1(act_time, log_id, etc_num1, etc_num2) values('2016/1/1 23:42:21.859',1306, 3, 1)
(0)
01/01/2016 23:42:23.625, Error 42S02:[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'L2016_01_01_log_realtime_1'.
01/01/2016 23:43:29.625, Error sql: EXECUTE lin_CheckLogTimeTable2 'L2016_01_01_', 1 (0)
01/01/2016 23:43:29.625, Error 42000:[Microsoft][ODBC SQL Server Driver][SQL Server]Could not find stored procedure 'lin_CheckLogTimeTable2'.
01/01/2016 23:43:29.625, Error sql: insert into L2016_01_01_log_realtime_1(act_time, log_id, etc_num1, etc_num2) values('2016/1/1 23:43:23.890',1306, 4, 1)
(0)
01/01/2016 23:43:29.625, Error 42S02:[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'L2016_01_01_log_realtime_1'.
01/01/2016 23:44:17.625, Error sql: insert into L2016_01_01_log_audit_1(act_time, log_id, actor, actor_account, target, target_account, location_x, location_y, location_z, etc_str1, etc_str2, etc_str3, etc_num1, etc_num2, etc_num3, etc_num4, etc_num5, etc_num6, etc_num7, etc_num8, etc_num9, etc_num10, STR_actor, STR_actor_account, STR_target, STR_target_account) values('01/01/2016 23:44:15.796', 1424,1209014726,1025290,NULL,NULL,186304,-43744,-3193,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL)
(0)
01/01/2016 23:44:17.625, Error 42S02:[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'L2016_01_01_log_audit_1'.
01/01/2016 23:47:23.687, Error sql: insert into L2016_01_01_log_audit_1(act_time, log_id, actor, actor_account, target, target_account, location_x, location_y, location_z, etc_str1, etc_str2, etc_str3, etc_num1, etc_num2, etc_num3, etc_num4, etc_num5, etc_num6, etc_num7, etc_num8, etc_num9, etc_num10, STR_actor, STR_actor_account, STR_target, STR_target_account) values('01/01/2016 23:47:20.796', 1424,1209028625,1025146,NULL,NULL,-14015,214038,-3704,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL)
(0)
01/01/2016 23:47:23.687, Error 42S02:[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'L2016_01_01_log_audit_1'.
01/01/2016 23:47:23.687, Error sql: insert into L2016_01_01_log_audit_1(act_time, log_id, actor, actor_account, target, target_account, location_x, location_y, location_z, etc_str1, etc_str2, etc_str3, etc_num1, etc_num2, etc_num3, etc_num4, etc_num5, etc_num6, etc_num7, etc_num8, etc_num9, etc_num10, STR_actor, STR_actor_account, STR_target, STR_target_account) values('01/01/2016 23:47:20.796', 1424,1209028626,1025063,NULL,NULL,-91168,116300,-3456,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL)
(0)
01/01/2016 23:47:23.687, Error 42S02:[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'L2016_01_01_log_audit_1'.
01/01/2016 23:47:23.687, Error sql: insert into L2016_01_01_log_audit_1(act_time, log_id, actor, actor_account, target, target_account, location_x, location_y, location_z, etc_str1, etc_str2, etc_str3, etc_num1, etc_num2, etc_num3, etc_num4, etc_num5, etc_num6, etc_num7, etc_num8, etc_num9, etc_num10, STR_actor, STR_actor_account, STR_target, STR_target_account) values('01/01/2016 23:47:20.796', 1424,1209028627,1025004,NULL,NULL,-94176,100140,-3512,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL)
(0)
01/01/2016 23:47:23.687, Error 42S02:[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'L2016_01_01_log_audit_1'.
01/01/2016 23:47:23.687, Error sql: insert into L2016_01_01_log_audit_1(act_time, log_id, actor, actor_account, target, target_account, location_x, location_y, location_z, etc_str1, etc_str2, etc_str3, etc_num1, etc_num2, etc_num3, etc_num4, etc_num5, etc_num6, etc_num7, etc_num8, etc_num9, etc_num10, STR_actor, STR_actor_account, STR_target, STR_target_account) values('01/01/2016 23:47:20.796', 1424,1209028628,1025076,NULL,NULL,-61408,127350,-2888,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL)
(0)
01/01/2016 23:47:23.687, Error 42S02:[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'L2016_01_01_log_audit_1'.
01/01/2016 23:47:23.687, Error sql: insert into L2016_01_01_log_audit_1(act_time, log_id, actor, actor_account, target, target_account, location_x, location_y, location_z, etc_str1, etc_str2, etc_str3, etc_num1, etc_num2, etc_num3, etc_num4, etc_num5, etc_num6, etc_num7, etc_num8, etc_num9, etc_num10, STR_actor, STR_actor_account, STR_target, STR_target_account) values('01/01/2016 23:47:20.796', 1424,1209028629,1025369,NULL,NULL,-45574,111456,-3792,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL)
(0)
01/01/2016 23:47:23.687, Error 42S02:[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'L2016_01_01_log_audit_1'.
01/01/2016 23:47:23.687, Error sql: insert into L2016_01_01_log_audit_1(act_time, log_id, actor, actor_account, target, target_account, location_x, location_y, location_z, etc_str1, etc_str2, etc_str3, etc_num1, etc_num2, etc_num3, etc_num4, etc_num5, etc_num6, etc_num7, etc_num8, etc_num9, etc_num10, STR_actor, STR_actor_account, STR_target, STR_target_account) values('01/01/2016 23:47:20.796', 1424,1209028630,1025001,NULL,NULL,-54580,146804,-2872,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL)
(0)
01/01/2016 23:47:23.687, Error 42S02:[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'L2016_01_01_log_audit_1'.
01/01/2016 23:47:23.703, Error sql: insert into L2016_01_01_log_audit_1(act_time, log_id, actor, actor_account, target, target_account, location_x, location_y, location_z, etc_str1, etc_str2, etc_str3, etc_num1, etc_num2, etc_num3, etc_num4, etc_num5, etc_num6, etc_num7, etc_num8, etc_num9, etc_num10, STR_actor, STR_actor_account, STR_target, STR_target_account) values('01/01/2016 23:47:20.796', 1424,1209028631,1025169,NULL,NULL,-54319,170828,-3160,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL)
(0)
01/01/2016 23:47:23.703, Error 42S02:[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'L2016_01_01_log_audit_1'.
01/01/2016 23:47:23.703, Error sql: insert into L2016_01_01_log_audit_1(act_time, log_id, actor, actor_account, target, target_account, location_x, location_y, location_z, etc_str1, etc_str2, etc_str3, etc_num1, etc_num2, etc_num3, etc_num4, etc_num5, etc_num6, etc_num7, etc_num8, etc_num9, etc_num10, STR_actor, STR_actor_account, STR_target, STR_target_account) values('01/01/2016 23:47:20.796', 1424,1209028632,1025362,NULL,NULL,-56128,187442,-3360,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL)
(0)
[/COLOR]
Можно ли это исправить?
по ошибке mssql искал решение...там говорят на заморском, дописать какую то процедуру...не въехал =\
http://archive.midrange.com/rpg400-l/199...00011.html
Заранее спасибо за помощь