Боты выносят зенитки на филдах. Надо их как-то возрождать.
Вид для печати
Боты выносят зенитки на филдах. Надо их как-то возрождать.
Чтож, проверил:
если стартовать миссию из игры - то все хорошо и на 14101 и на 14214 (виста32 и 7х64) тамже в режиме -server "штуки" дохнут.
Вывод... вывод... хм... по иоему это - ?"%№*
я незнаю, что думать.
К слову, есть еще одно интересное наблюдение, по поводу того, что работа лаунчера подчиняется очень странным законам, может для кого то они и очевидны - но для меня полная загадка, но ближе к делу:
при запуске с параметром -server в любой десктопной (виста32 и 7х64) винде, курсор консоли показывает
4>
при старте из под 2008х
34>
что это? под сервером при старте выполняется на 30 шагов (команд) больше?
Скрипты вроде работают. Круто! Всё чистенько на сервере.
Скоро рухнет, ошибка
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
валит валом
Упал только что.
Говорят, текущий патч должен исправить загрузку миссии с кораблями, где все мрут.
Бомбы по прежнему так и не цепляются к мессерам.Хотя до последних двух бета патчей,они цеплялись только к сто девятому-теперь и на 109 их нет.Может что надо поправить в настройках сервера?В полном редакторе то бомбы цепляются без проблем.Вчера вечером при появлении на филде самолеты постоянно оказывались один в другом.Сразу даже не понял,почему при появлении на филде вылетела надпись о повреждении двигателя.При этом мой 110-й развалился.109 который стоял -остался цел.До патча такого не видел.Не знаю кто тут виноват-патч или такие настройка сервера?
На карте есть точки спауна. В них задаются какие самолеты могут здесь рождаться и с каким вооружением. Вчера проверял по крайней мере для 110х на всех 3х спаунах стоят звездочки "*" напротив каждого варианта загрузки. Т.е. насколько я понимаю, они разрешены. Попробуйте запустить миссию на своем компе, будет ли там работать? Затем откройте в редакторе и проверьте плиз. Если не работает, то отпишите разработчикам в баги, пожалуйста. У меня времени на проблемы вооружения не будет, т.к. хватает проблем со скриптами и подгрузкой миссий. Нужна помощь.
На какой сетевой карте работают эти загрузки? Есть ли пример?
На некоторых филдах включен старт на полосе, т.к. иначе самолеты взрываются в ангарах. Видимо, снова придется переносить в ангары. Разработчики в курсе проблемы.
Спасибо за комменты.
зы. Сервер пропатчен?
посмотреть удалось только с утра, не упал. Но все одно немного странно вел себя.
1 - в клиенте стима, закладки сервера - показывал что есть (1/128) один пилот на сервере, при попытке посмотреть список игроков в стиме - писал сервер не отвечает. Пытался поймать эту проблему за хвост, не гася сервер, рестартовал стим (несколько раз), выждал время (может оно нужно для обновления в базе стима) 0 эмоций - 1/128 и при попытке посмотреть список игроков - сервер не отвечает. Чтож запишем в загадки.
2 - очень часто после длинных аптаймов лаунчер вис при попытке закрыть его по команде exit (вис как всегда нагрузка к 100% одного ядра, и на команды 0 эмоций) сегодня, на удивление, все корректно.
3 - вчера заметил на сервере группу в полосатых купальниках (=MG=), а раз у нас летают такие люди может и ветку эту они почитывают.
4 - вот лог серванта, на всякий...
logs27-28_04_2011.txt (UTF-8)
--- Добавлено ---
Каждое утро как законопослушный параноик начинаю с того, что накатываю 14214, для чистоты эксперимента, в стиме, мать его, даже если поставить в свойствах игры "не обновлять автоматически" после перезагрузки стима, эта гадость опять меняется на "загружать автоматически"Цитата:
зы. Сервер пропатчен?
Вчера новый патч вышел. http://www.sukhoi.ru/forum/showthread.php?t=68950
После "падения", о котором я написал, я скачал патч, поставил, смог зайти на сервер, но там творился полный сюрреализм. Видимо из-за разницы версий. Патч должен исправить массовые смерти, надеюсь (были отзывы).
Как можно оперативно связываться, если будут срочные вопросы, Скайп, аська? В Стиме у меня такой же ник, а тебя не смог найти, добавь в друзья плиз.
--- Добавлено ---
Это радует, но я убежден, что лучше в баги писать ))
Зарылся как клоп в этих ошибках, прозевал патч.
Обновил на 14304.
аська 171-829-716
Поспрашивал почти всех коллег, никто не летает в полосатых купальниках, подозреваю MG это не MaddoxGames :)
Постойте, постойте... вот понадергал тут из лога
=MG=vich
=MG=Rikki
=MG=COLD
=MG=Konnik
нет? не наши? в смысле не ваши? ;)
жаль. но ветку все же читаете ;) Это хорошо. :)
Наши летают без погонов и под разными именами :) а то вопросами закидывают.
Например у лютьера щас ник HotasBoy (только тсс..)
Когда создавался тестовый сервер МГ, на нем, говорят, видели =MG=Rikki ? )) В любом случае заходите :)
Сегодня перед крашем на сервере на аэродроме я переходил из самолета в самолет и предыдущий не исчезал. Т.е. скрипт не работал. Тот, что я выложил в багах я копировал из архива, что выкладывал на форуме. oreva пишет, что самолет сразу дестроится. Чудеса. На сервере точно скрипт, который вчера работал до нового бета-патча? из архива 12 версии, а не предыдущей?
Я запускал сервер из игры со своей простенькой миссией и Вашим скриптом.
Да, на Repke, не работает. И пишет в консоль кучу NullReferenceException. Думаю этот null из скрипта лезет.
Подозреваю, что причиной нуль эксепшенов могут быть вызовы по таймауту без проверки на нуль. Например
Что будет, если за 10 минут aircraft уже разбился?Код:Timeout(600.0, () =>
{
(actor as AiAircraft).Destroy();
});
А потом все пошло нога в ногу...
А как это исправить? Я не программист к сожалению... Будем благодарны за любую помощь.
Проверил новую версию карт у себя, все работает, самолеты падают, на полосе дестроятся при выходе. Скрипт не менял. Выложил в картах.
Спауны возвращены в ангары. В связи с зависанием редактора при размешении нового объекта "аэродром" дальнейшие исследования исправления спаунов прекращены до хотфикса редактора.
Small_bee ответили до меня ...
Так?
Код:if ((PlaneIsEmpty) && (actor as AiAircraft).IsAirborne())
{
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.ControlsElevatorDisabled);
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.ControlsAileronsDisabled);
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.ControlsRudderDisabled);
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.Eng0TotalFailure);
//for 2mots
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.Eng1TotalFailure);
//then wait 10min
Timeout(600.0, () =>
{
if (actor is AiAircraft)
{
(actor as AiAircraft).Destroy();
}
});
}
else if (PlaneIsEmpty)
{
(actor as AiAircraft).Destroy();
}
Вокруг этого не надо?Код:public override void OnAircraftCrashLanded(int missionNumber, string shortName, AiAircraft aircraft)
{
base.OnAircraftCrashLanded(missionNumber, shortName, aircraft);
Timeout(600, () =>
{
aircraft.Destroy();
});
}
Полный код, коммент выделен
Код:using System;
using maddox.game;
using maddox.game.world;
using System.Collections.Generic;
public class Mission : AMission
{
// loads my sub-missions
public override void OnTickGame()
{
if (Time.tickCounter() % 72000 == 18000) // 40-10
{
GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/128BoF/128BoFsmGroundv1_0.mis");
GamePlay.gpHUDLogCenter("Protect friendly shipping in the channel near France!");
}
if (Time.tickCounter() % 72000 == 71999) // 40-40
{
GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/128BoF/128BoFsmBombersv1_0.mis");
GamePlay.gpHUDLogCenter("Intel: Enemy bombers are heading to blue airfields!");
}
if (Time.tickCounter() % 72000 == 45000) // 40-25
{
GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/128BoF/128BoFsmBombersv1_0a.mis");
GamePlay.gpHUDLogCenter("Intel: Enemy bombers are heading to red airfields in France!");
}
}
// destroys aircraft abandoned by a player
public void _DespawnEmptyPlane(AiActor actor)
{
if (actor == null)
{ return; }
Player[] Players = GamePlay.gpRemotePlayers();
bool PlaneIsEmpty = true;
foreach (Player i in Players)
{
if ((i.Place() as AiAircraft) == (actor as AiAircraft))
{
PlaneIsEmpty = false;
break;
}
}
if ((PlaneIsEmpty) && (actor as AiAircraft).IsAirborne())
{
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.ControlsElevatorDisabled);
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.ControlsAileronsDisabled);
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.ControlsRudderDisabled);
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.Eng0TotalFailure);
//for 2mots
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.Eng1TotalFailure);
//then wait 10min
Timeout(600.0, () =>
{
if (actor is AiAircraft)
{
(actor as AiAircraft).Destroy();
}
});
}
else if (PlaneIsEmpty)
{
if (actor is AiAircraft)
{
(actor as AiAircraft).Destroy();
}
}; // круглую скобку здесь студия подчеркнула как недопустимый элемент. в остальных строках кушает.
}
public override void OnPlaceLeave(Player player, AiActor actor, int placeIndex)
{
base.OnPlaceLeave(player, actor, placeIndex);
_DespawnEmptyPlane(actor);
}
// destroys crushlanded aircraft in 10 minutes
public override void OnAircraftCrashLanded(int missionNumber, string shortName, AiAircraft aircraft)
{
base.OnAircraftCrashLanded(missionNumber, shortName, aircraft);
Timeout(600, () =>
{
aircraft.Destroy();
});
}
}
--- Добавлено ---
Сейчас добавлю. Спасибо.
Спасибо большое!
Полный код:
Код:using System;
using maddox.game;
using maddox.game.world;
using System.Collections.Generic;
public class Mission : AMission
{
// loads my sub-missions
public override void OnTickGame()
{
if (Time.tickCounter() % 72000 == 18000) // 40-10
{
GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/128BoF/128BoFsmGroundv1_0.mis");
GamePlay.gpHUDLogCenter("Protect friendly shipping in the channel near France!");
}
if (Time.tickCounter() % 72000 == 71999) // 40-40
{
GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/128BoF/128BoFsmBombersv1_0.mis");
GamePlay.gpHUDLogCenter("Intel: Enemy bombers are heading to blue airfields!");
}
if (Time.tickCounter() % 72000 == 45000) // 40-25
{
GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/128BoF/128BoFsmBombersv1_0a.mis");
GamePlay.gpHUDLogCenter("Intel: Enemy bombers are heading to red airfields in France!");
}
}
// destroys aircraft abandoned by a player
public void _DespawnEmptyPlane(AiActor actor)
{
if (actor == null)
{ return; }
Player[] Players = GamePlay.gpRemotePlayers();
bool PlaneIsEmpty = true;
foreach (Player i in Players)
{
if ((i.Place() as AiAircraft) == (actor as AiAircraft))
{
PlaneIsEmpty = false;
break;
}
}
if ((PlaneIsEmpty) && (actor as AiAircraft).IsAirborne())
{
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.ControlsElevatorDisabled);
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.ControlsAileronsDisabled);
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.ControlsRudderDisabled);
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.Eng0TotalFailure);
//for 2mots
(actor as AiAircraft).hitNamed(part.NamedDamageTypes.Eng1TotalFailure);
//then wait 10min
Timeout(600.0, () =>
{
if (actor is AiAircraft)
{
(actor as AiAircraft).Destroy();
}
});
}
else if (PlaneIsEmpty)
{
if (actor is AiAircraft)
{
(actor as AiAircraft).Destroy();
}
}; // круглую скобку здесь студия подчеркнула как недопустимый элемент. в остальных строках кушает.
}
public override void OnPlaceLeave(Player player, AiActor actor, int placeIndex)
{
base.OnPlaceLeave(player, actor, placeIndex);
_DespawnEmptyPlane(actor);
}
// destroys crushlanded aircraft in 10 minutes
public override void OnAircraftCrashLanded(int missionNumber, string shortName, AiAircraft aircraft)
{
base.OnAircraftCrashLanded(missionNumber, shortName, aircraft);
Timeout(600, () =>
{
if (aircraft != null)
{
aircraft.Destroy();
}
});
}
}
--- Добавлено ---
Ага, я снова не успел ))) А у меня неправильно?
Все верно. Можно и так и так.
ОК, спасибо большое, сейчас тестирую.
В архиве только скрипт. Можно загружать на сервер с заменой старого скрипта.
В начале файла (в 7й строке :D ) добавил номер версии // v.1.6.13а
Можно будет скачать файл с сервера после загрузки, чтобы удостовериться, заменился ли файл.
На моем компе работает, на сервере почему-то после крайнего патча были проблемы (
Вложение 133305
Немного рекламы.
Для просмотра: ПКМ на скрине => Открыть изображение.
Скрытый текст:
Всем спасибо за помощь!!!
Поставил скиптик
Реклама хороша.
--- Добавлено ---
Интересная ошибка, вроде как раз в тему разговора
[18:34:30] Server: III/JG77-recke- в кабине III/JG77-recke- разбился.
[18:34:51] CollideEnvXY.collideLine: NONAME drw:1 col:1 #67709 very big step moved actor - IGNORED !!!
и
18:35:37] Server: -atas- в кабине -atas- разбился.
[18:35:39] CollideEnvXY.collideLine: NONAME drw:1 col:1 #67709 very big step moved actor - IGNORED !!!
как я понимаю скрипт пытается убрать обломки
Возможно, я в ангаре рождался. Было раз 7 подряд.
Не...
CollideEnvXY.collideLine: NONAME drw:1 col:1 #67709 very big step moved actor - IGNORED !!!
появилась после 13 или 13а версии, может выскочить и когда нет никого на сервере и не по одному разу.
У меня такой вопрос. Сколько примерно ботов одномоментно в воздухе сервер в состоянии потянуть? Мне для дела. :) Если бы кто после еще взялся и филды оформить как положено, было бы вообще кучеряво. Надеюсь держатель сервера после возьмется карту обкатать? ;)
Перепробовал много десктопного железа, впринципе готовлю небольшое эссе на эту тему, хотя нагрузка немного прыгает от патча к патчу, но в целом загрузка вяленькая... думаю скорее всего упремся "в дно" по памяти, все же лаунчер - это 32х, так что рисуй ботов много и разных.
Как раз по поводу филдов перетераем с -Atas-ом, в общих, пока, чертах.
Обкатаем с удовольствием, на первомайских уикендах подниму еще одну Репку :) (а может и не одну) а то мы тестами своими распугали всех пилотов.
Поставил 15 лайт
[15:32:48] >missLoad missions\multi\Dogfight\128BoF\128BoF1_6_15lite.mis
[15:32:48] Loading mission ...
[15:32:48] Load landscape...
[15:32:55] Load bridges
[15:32:55] LongBridge: wrong width. (3)
[15:32:56] Load static objects...
[15:32:58] [0] ERROR [AIR] MissionLoad: Distinct point '{0}' in airdrome0
[15:32:58] [0] ERROR [AIR] MissionLoad: Distinct point '{0}' in airdrome0
[15:32:58] [0] ERROR [AIR] MissionLoad: Distinct point '{0}' in airdrome0
[15:32:58] [0] ERROR [AIR] MissionLoad: Distinct point '{0}' in airdrome0
[15:33:00] Mission loaded. time = 11,912
Зацикливание
System.NullReferenceException
когда лог подошел к полу гигабайт, остановил сервант... он бы все одно упал, может (и даже скорее всего) и не из за карты.
Эта карта не жилец... можешь попробовать не редактировать старую а создать новую, ибо, где там, что не так, уже никто никогда не поймет, да и не зачем это...
Стоит просто "голый" простоит сутки - можно идти дальше, а так... не стоит оно того.
Синдикат откатился на предыдущую бету из-за зависонов. 20 человек летают.
О! А вот это интересно... Ща попробуем ;)
--- Добавлено ---
Хм. Интересное наблюдение.
Пытался вернуться с 14305 на 14214.
Снес все - поставил через стим 14101 - вылил сверху 14214 - запуск... ошибка
[20:06:54] =================================================
[20:06:54] :
[20:06:54] System.NotSupportedException: Предпринята попытка загрузить сборку из сетевого ресурса, что в предыдущих версиях .NET Framework могло привести к помещению сборки в "песочницу". Этот выпуск .NET Framework не включает политику CAS по умолчанию, поэтому данная загрузка может быть опасной. Если эта нагрузка не предназначена для изоляции сборки, включите переключатель loadFromRemoteSources. Дополнительные сведения см. на странице http://go.microsoft.com/fwlink/?LinkId=155569.
[20:06:54] в System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
[20:06:54] в System.Reflection.Assembly.LoadFile(String path)
[20:06:54] в wKgXhOaFMthaNNrF3F3.6cQC9JaSeOfoCVANxp0.0w9DA5Ug2YDmaCid8DVc(Object )
[20:06:54] в wKgXhOaFMthaNNrF3F3.6cQC9JaSeOfoCVANxp0.jgiCmZghnX2()
[20:06:54] =================================================
System.Exception у меня вчера было. В багах отрепортил все логи.
Больше ничего не знаю. Сервер виснет?
В списке серверов не вижу (
Sov SVAO и Syndicat работают.
--- Добавлено ---
Сейчас 2 сервера без загруженных карт. / 23.14 мск
Ну, да...
Поднял я второй сервант, один на стабильной, другой на бете. Логов с ошибками будет теперь в 2е больше :)
Простояли оба без карт сутки, в железках, коннектах, стимах... я теперь более менее уверен.
Карту прикрутил свою (уж извини, на фтп ее бросил - зацени) никаких скрипов, триггеров и прочей заумной лабуды, простая такая и незатейливая, рабоче-крестьянская балалайка, думаю - то что сейчас надо, что бы не скрипеть мозгом, что там внутри конит, после каждого апдейта.
На юго-западе (слева внизу :) ) 2 филда для "быстро побадаться".
Все крафты доступны, подумал, что если запрещать 2й спит, он так останется убером, а так мож что отрепортят, да разрабы подкрутят чтонидь.
Рисовал в 14101 - ошибка ERROR [AIR] MissionLoad: Distinct point '{0}' in airdrome0 - появляется на обоих серваках при загрузке,
airdrome0 225313.23 228706.85 1 2000 820 0
единственный 0 я тут вижу и, насколько я понимаю - это высота, может тут покавырять?
Что еще? А, взрывы в ангарах - в полный рост, хотя вроде выбирал не самые "благоустроенные" взлетки.
При всём уважении, не зайду если на сервере спиты2а, ну на чём летать против этого убера?
То что он убер изсвестно всем, а тратить нервы на неубиваемость и смотреть как любители лёгкой наживы будут летать на нём не интрессно, звеняйте.
А за сервер и труд отдельное спасибо, ценю что делаешь.
Добавил в редакторе к снаряжению всем немецким бортам по паре цинков серебрянных пулек, специально против этого красного дьявола. (хе-хе, шутка)
Убрал 2а - заходи. :)
--- Добавлено ---
Отставить... походу я выяснил, что это такое. Когда перекрываешь филд на карте сверху еще одним, что бы ангары не попали в зону - вылазит эта фигня.
так с каким патчем лучше к вам коннектиться?
airdrome0 - это номер аэродрома по идее. Я его на своей карте в Англии нашел рядом с г. Хайт и удалил.