Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
Vitalik

Нужна помошь

Что может быть при покупке техники техника долго не появляется,с начало появляется стрелка в месте покупки техники, потом только сама техника и если игрок подбегает к стрелке, пока не появилась техника, она исчезает и появляется на том же месте после рестарта.Может у кого была такая проблема подскажите 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Edited by Vitalik (see edit history)

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

 

есть ряд причин из за чего это может быть. Основные причины это:

1. Неправильно настроенный конфиг сервера config.cfg в котором нужно учитывать кол-во слотов и пропускную способность интернет канала, разумеется настройка его сугубо индивидуальная. Но предлагаю два варианта для проверки:

 

вариант 1: это на 40 игроков:

 

language="Russian";
MinBandwidth=1097152;
MaxBandwidth=2147483647;
MaxMsgSend=256;
MaxSizeGuaranteed=512;
MaxSizeNonguaranteed=192;
MinErrorToSendNear=0.05;
MinErrorToSend=0.004;
MaxCustomFileSize=0;
Windowed=0;
adapter=-1;
3D_Performance=1;
Resolution_Bpp=32;
class sockets
{
    maxPacketSize=1400;
};
serverLongitude=128;
serverLatitude=50;
serverLongitudeAuto=128;
serverLatitudeAuto=50;
 

 

 

это на 100:

language="Russian";
MinBandwidth=25000000;
MaxBandwidth=100000000;
MaxMsgSend=128;
MaxSizeGuaranteed=512;
MaxSizeNonguaranteed=192;
MinErrorToSendNear=0.029999999;
MinErrorToSend=0.0099999998;
MaxCustomFileSize=0;
Windowed=0;
adapter=-1;
3D_Performance=1;
Resolution_Bpp=32;
class sockets
{
maxPacketSize=1400;
};
serverLongitude=-114;
serverLatitude=37;
serverLongitudeAuto=-114;
serverLatitudeAuto=37;
 

 

формула для подсчета выглядит так: (не буду вдаваться в подробности, там все просто, гугл в помощь)

512 maxguranted *256 maxnone * 8192 maxmsg * 20 clients * 50 frames
 

 

 

2. Слабая пропускная способность интернет канала (проявляет себя это при наличии определенного энного кол-ва человек), другими словами сервер начинает захлебываться не успевая обработать и адекватно отправить запросы клиент-сервер сервер-клиен сервер-бд и.т.п... Так же может быть дело в слабом процессоре.

решение: поменять железо и расширить канал.

 

3. В некоторых случаях это возможно при ошибках в коде, которые накапливаются и проще говоря действуют на сервер как запор (приводя к отстованию), проявляются со временем.

решение: тут все понятно.

 

Я могу еще написать ряд решений но надо знать, есть ли у тебя какие либо ошибки в РПТ когда начинается это, на подобии:

 

if (_created == -0.1) then{
_x setVariable[">
16:52:59   Error position: <_created == -0.1) then{
_x setVariable[">
16:52:59   Error Undefined variable in expression: _created
16:52:59 File z\addons\dayz_server\init\server_functions.sqf, line 851
 

потому что повторюсь, много из за каких нюансов может быть это но в большинстве случаев это слабая пропускная способность или камень которые не тянет...

Надеюсь помог.

спасибо будем смотреть 

Share this post


Link to post
Share on other sites



  • 0

есть ряд причин из за чего это может быть. Основные причины это:

1. Неправильно настроенный конфиг сервера config.cfg в котором нужно учитывать кол-во слотов и пропускную способность интернет канала, разумеется настройка его сугубо индивидуальная. Но предлагаю два варианта для проверки:

 

вариант 1: это на 40 игроков:

 

language="Russian";
MinBandwidth=1097152;
MaxBandwidth=2147483647;
MaxMsgSend=256;
MaxSizeGuaranteed=512;
MaxSizeNonguaranteed=192;
MinErrorToSendNear=0.05;
MinErrorToSend=0.004;
MaxCustomFileSize=0;
Windowed=0;
adapter=-1;
3D_Performance=1;
Resolution_Bpp=32;
class sockets
{
    maxPacketSize=1400;
};
serverLongitude=128;
serverLatitude=50;
serverLongitudeAuto=128;
serverLatitudeAuto=50;
 

 

 

это на 100:

language="Russian";
MinBandwidth=25000000;
MaxBandwidth=100000000;
MaxMsgSend=128;
MaxSizeGuaranteed=512;
MaxSizeNonguaranteed=192;
MinErrorToSendNear=0.029999999;
MinErrorToSend=0.0099999998;
MaxCustomFileSize=0;
Windowed=0;
adapter=-1;
3D_Performance=1;
Resolution_Bpp=32;
class sockets
{
maxPacketSize=1400;
};
serverLongitude=-114;
serverLatitude=37;
serverLongitudeAuto=-114;
serverLatitudeAuto=37;
 

 

формула для подсчета выглядит так: (не буду вдаваться в подробности, там все просто, гугл в помощь)

512 maxguranted *256 maxnone * 8192 maxmsg * 20 clients * 50 frames
 

 

 

2. Слабая пропускная способность интернет канала (проявляет себя это при наличии определенного энного кол-ва человек), другими словами сервер начинает захлебываться не успевая обработать и адекватно отправить запросы клиент-сервер сервер-клиен сервер-бд и.т.п... Так же может быть дело в слабом процессоре.

решение: поменять железо и расширить канал.

 

3. В некоторых случаях это возможно при ошибках в коде, которые накапливаются и проще говоря действуют на сервер как запор (приводя к отстованию), проявляются со временем.

решение: тут все понятно.

 

Я могу еще написать ряд решений но надо знать, есть ли у тебя какие либо ошибки в РПТ когда начинается это, на подобии:

 

if (_created == -0.1) then{
_x setVariable[">
16:52:59   Error position: <_created == -0.1) then{
_x setVariable[">
16:52:59   Error Undefined variable in expression: _created
16:52:59 File z\addons\dayz_server\init\server_functions.sqf, line 851
 

потому что повторюсь, много из за каких нюансов может быть это но в большинстве случаев это слабая пропускная способность или камень которые не тянет...

Надеюсь помог.

Share this post


Link to post
Share on other sites
  • 0

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

Edited by JustBullet (see edit history)

Share this post


Link to post
Share on other sites
  • 0

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

Именно начинается по количеству игроков чем больше тем дольше ждёшь появления если игроков мало то всё норм 

Share this post


Link to post
Share on other sites
  • 0

Что может быть при покупке техники техника долго не появляется,с начало появляется стрелка в месте покупки техники, потом только сама техника и если игрок подбегает к стрелке, пока не появилась техника, она исчезает и появляется на том же месте после рестарта.Может у кого была такая проблема подскажите 

Валидация техники по ID не происходит. В RPT гляньте, есть ли Deleted invalid ID 0. че-то такое.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By BorizzK
      Есть класс
       
      class LogClass { private FileHandle File; void LogClass() { Print("::: [LogClass] ::: Init :::"); } void ~LogClass() { Print("::: [LogClass] ::: UnInit :::"); } void Save(string FileName, string String) { private int year, month, day, hour, minute, second; Print("::: [LogClass]: Save: " + FileName); if (!FileExist(FileName)) { File = OpenFile(FileName,FileMode.WRITE); } else { File = OpenFile(FileName, FileMode.APPEND); } if ( File == 0 ) { Print("::: [LogClass]: Can not write FileName: " + FileName); Print("::: [LogClass]: May be disk error, file write protected, file busy or FileMode.WRITE disabled (need to specify option -scrAllowFileWrite in server run parameters for enable FileMode.WRITE."); return; } FPrintln(File, DataBase_GetDate() + "," + DataBase_GetTime() + " : " + String); CloseFile(File); } void Rotate(string FileName, int FileNum) { Print("::: [LogClass]: Rotate: " + FileName); if (!FileExist(FileName)) { Print("::: [LogClass]: Rotate: FileName not exists: " + FileName); return; } else { for ( int i = FileNum; i > 0; i-- ) { Print("::: [LogClass]: Rotate: FileName: " + FileName + "." + i); if (FileExist(FileName + "." + i)) { Print("::: [LogClass]: Rotate: DeleteFile: " + FileName + "." + i); DeleteFile(FileName + "." + i); } if (FileExist(FileName + "." + (i - 1))) { Print("::: [LogClass]: Rotate: CopyFile: " + FileName + "." + (i - 1) + " => " + FileName + "." + i); CopyFile(FileName + "." + (i - 1), FileName + "." + i); } } CopyFile(FileName, FileName + ".0"); DeleteFile(FileName); } } static string DataBase_GetDate() { int year, month, day; GetYearMonthDay(year, month, day); string date = day.ToStringLen(2) + "." + month.ToStringLen(2) + "." + year.ToStringLen(2); return date; } static string DataBase_GetTime() { int hour, minute, second; GetHourMinuteSecond(hour, minute, second); string time = hour.ToStringLen(2) + ":" + minute.ToStringLen(2) + ":" + second.ToStringLen(2); return time; } } Мне нужно им пользоваться функциями из него в нескольких местах
      в PlayerBase.c в функциях в классе PlayerBase
      в init.c в функция в классе миссии
      Вопрос как?
       
      В PlayerBase.c
      #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\LogClass\\LogClass.c"
      Далее в классе
      ref LogClass Log = new LogClass();
      ну и в функциях
      Log.Save{"путь-имя", данные);
       
      Но после последнего обновления 0.63.149.525
      В init.c
      #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\LogClass\\LogClass.c"
      приводит к ошибке - Multiple declaration of class "LogClass"
       
      Can't compile mission init script'!
      $CurrentDir://mpmissions//dayzOffline.chernarusplus//_MOD//LogClass//LogClass.c(1): Multiple declaration of class 'LogClass'
       
      До этого обновления все было норм
      Как быть?
       
       
    • By BorizzK
      Что такое массивы и тп я в целом знаю, но поскольку на c++ и подобном никогда не писал (только в Дейзе столкнулся), то есть некоторое непонимание некоторых принципов работы с массивами в данном случае
       
      Продположим
       
      обявили массив внутри функции
       
      array<string> stringParam;
      // определяем массив текстового типа который живет до завершения работы функции
       
      или
       
      static array<string> stringParam;
      // определяем массив текстового типа который сохраняет в себе данные и после завершения работы функции и при следующем
      вызове функции содержимое массива останется и может быть использовано внутри функции (повторного обьявления массива не произойдет)
       
      string text = "text";
       
      //записываем содержимое переменной text в элемент массива 0
      stringParam.Insert(text);
      //записываем содержимое переменной text  в элемент массива 1, если переменная text пуста в элемент запишется текст NULL
      stringParam.Insert(text, "NULL");
       
      читаем в переменную text элемент массива 1
      string text = stringParam.Get(1);
       
      А вот теперь вопрос
      Как мне изменить эелемент 1 массива?
      stringParam[1] = "блаблабла";
       
      так?
      в теории должно быть так
       
      Это вообще возможно?
       
      И еще про функцию возвращающую результат в качестве массива
       
       array<string> FileRead(string FileName)
       {
        array<string> stringParam;
        string line_content;
         
      .....

        CloseFile(File);
        return stringParam;
       }
       
      Все верно?
       
    • By becbaLLleHHblu
      Доброво времени суток нужна ваша помощь. Недавно обновился мод и тут появилась такая штука у истребителя F35B  появилась пушка GAU-22 я пробовал её запретить скриптом но нечего не вышло может кто сталкивался с проблемой подскажите чет не охото её выводить с срвера 
    • By DenisRef
      Нужно доработать скрипт для DayZ Standalone 0.63 на зараженные зоны в городах. Сложность заключается в том, что в этом патче вся игра перешла на другой язык - Енфьюжн, подобный многим C языкам.
      Есть лишь заготовка для этого (прикрепил ниже), которую нужно доработать. Разумеется с оплатой.
      Что примерно должен из себя представлять готовый скрипт в действии: 
      "Скрипт на постоянное получение урона и кровопотерю при отсутствии противогаза на голове персонажа, если игрок находится в определенном радиусе от некоторых точек на карте Чернаруссии, координаты этих точек напишу уже потом. Скрипт должен работать пока на DayZ Offline в Стиме, тобиж в одиночке."
      void radiation () { vector gas_point = "0 0 0"; int radius = 100; string gasmask = "H_HelmetA"; float damage_value = 0.01; int damage_delay = 2; float blood = 0; while (true) { float distance = Math.Abs(playerPostion.GetPosition() - gas_point); if ( distance <= radius ) { if ( gasmask != player.Headgear ) { blood = player.GetHealth( "", "Blood" ); player.SetHealth("GlobalHealth", "Blood", blood); } } sleep(damage_delay); } }  
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.