Неизвестная ошибка. Как узнать ошибки lua на выделенном сервере.

Primo

Пользователь
26 Авг 2016
65
0
Привет всем. Сегодня моей кастомке дали выделенный сервер, но проблемы не заставили себя ждать.
Какая именно проблема, и из-за чего она появилась я понятия не имею, но со 100% уверенностью могу сказать, что это из-за луа скрипта.
Вопрос собственно вот в чем, как я могу увидеть ошибки в луа скрипте, если они выводятся в консоль только хосту, а тут хостом является выделенный сервер?

И еще, панорама стала жутко лагать, а точнее лагает с повторяющимся таймером. Если на локальном сервере я делаю таймер с задержкой в 0,005сек, и всё работает абсолютно нормально и без лагов, то на выделенном сервере же я ощущаю неимоверные лаги. (грубо говоря, был 100 фпс, стал 30).
Чтобы не было лишних тупых вопросов, таймер через $.Schedule() (Javascript).
 

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
Никак. Самому или с друзьями на своем хосте ловить известные баги.
 

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
Ну и без кода твоего таймера никто ничего тебе не скажет
 

Primo

Пользователь
26 Авг 2016
65
0
Ну и без кода твоего таймера никто ничего тебе не скажет
Я и не удивлён, что никто ничего не скажет.
Ровно как и код таймера ничего не скажет.
Код:
function onJavaTimerTick( )
{	
	if(Object.keys(unitConf).length == 0)
	{
		GameEvents.SendCustomGameEventToServer( "unitpanel_debug", {thisdata : 1} );
		//$.Msg(unitConf);
	}
	$('#income-label').GetChild(1).text = myincome*10;
	$('#food-label').GetChild(1).text = myfood+"/"+mymaxfood;
	for(var i in unitConf)
	{
		var thisclass = $(unitConf[i].unitclass);		
		if(Players.GetGold(Players.GetLocalPlayer()) < unitConf[i].cost || myfood + unitConf[i].food > mymaxfood)
		{ 
			thisclass.style.border = "5px solid #9b0000";
		}
		else
		{
			thisclass.style.border = "5px solid #199900";
			//Game.EmitSound("Quickbuy.Available");
		}	
	}
	$.Schedule(0.05, onJavaTimerTick);
}

onJavaTimerTick();
 
Последнее редактирование модератором:

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
А ты уверен что это из-за панорамы лагает?
 

Primo

Пользователь
26 Авг 2016
65
0
ZLOY, да, причем конкретно из-за таймера. Если увеличить его время, то лагать перестаёт меньше. Если вовсе убрать, то вовсе лаги пропадают.

Но главная проблема не эта, главная связана с lua скриптом, как его можно задебажить нормально. Всё игралось нормально, а тут вафли запилили выделенный сервер и всё сломалось. Как узнать в чем проблема - хз.
 

rokiboxofficial

Пользователь
10 Сен 2017
18
0
Афигеть, одна из самых популярных кастомок в мире, и создатель сидит с тобой на одном форуме.
 

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
Возможно GameRules на вольвовских серверах создается позже чем запускается луа. Но это догадка в стиле Ванги)
Попробуй перенести все обращения к GameRules в Activate хотя-бы
 

Primo

Пользователь
26 Авг 2016
65
0
Возможно GameRules на вольвовских серверах создается позже чем запускается луа. Но это догадка в стиле Ванги)
Попробуй перенести все обращения к GameRules в Activate хотя-бы
Сначала обрадовался, что возможно оно так, но в итоге нет, не так.
 
Последнее редактирование модератором:

Primo

Пользователь
26 Авг 2016
65
0
Убрали выделенный сервер, похоже что-то пошло не так :с
 

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
Не нужно было скрывать кастомку. Нужно к вольво писать, возможно они бы что-то подсказали или исправили у себя.
 

Primo

Пользователь
26 Авг 2016
65
0
ZLOY, вольво писать - сродне в стенку стучать. Писал я, только через час после отправки письма сервера не оказалось.
 

Primo

Пользователь
26 Авг 2016
65
0
Крч разобрался благодаря моддоте.
Оборачивайте вызов функции в pcall или xpcall и сможете ловить сообщение об ошибке. Дальше отправляйте в панораму и выводите.
 

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
Так а что на дедиках работает не так как у плейерхостов?
 

Primo

Пользователь
26 Авг 2016
65
0
Похоже, что не так, раз у меня кастомка на выделенном сервере по зде пошла. Специально залил отдельно кастомку от основной, чтобы проверить - всё работает, а на выделенном нет.

Может вольво накосячили, хз.
 

CryDeS

Друзья CG
14 Июл 2015
1,210
11
Да, дебажить баги выделенных сервов то еще удовольствие, когда нигде не повторяется если это не выделенный сервак.
 

Primo

Пользователь
26 Авг 2016
65
0
В общем, от безделия решил всё таки исправить проблему, ибо вдруг вольво опять захотят дать выделенный сервер, а у меня не будет возможности исправить.
В итоге, задебажил ошибку, и проблема оказалась в ивенте player_connect_full, он не вызывается, судя по всему. А в нём у меня идёт формирование всех пользовательских данных (еда, инкам, список юнитов и т.д. и т.п.)
 
Реклама: