Перейти к содержимому


Фотография

Возникновение задержки в кооперативе


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 14

#1 OFFLINE   0-0

0-0

    Ефрейтор

  • Пользователи
  • 57 сообщений

Отправлено 27 June 2018 - 14:16

В общем, ситуация такая. Сделал несколько миссий для кооператива.

Сервер создаю сам, не выделенный. Спустя какое-то время игры, только у меня, как у сервера, начинаются какие-то непонятные задержки, например в стандартном скрипте ранений и респаунов. Проявляется это следующим образом. Например подхожу к раненому бойцу, нажимаю кнопну действия, и само действие начинается не сразу, как должно было быть, а секунд через 10, иногда через 20 ну и тд... сам процесс лечения так же идёт скачками с фризами. При всё при этом остальной процесс игры идёт нормально.

В плане респаунов, всё срабатывает то же с какими-то задержками. И если задержка выходит за рамки времени респауна, то игра сама оживляет, не предоставляя возможности выбора снаряжения и места респауна и тд. Иногда оживляет прям на месте смерти, хотя такой возможности в миссии нет вообще.

 

Такая же фигня проявляется и в компании Протокол Апекс. Но в гораздо меньших объёмах.

 

Думал из-за модов. Но когда запускаю голый Апекс, оно всё равно проявляется. Но в Апексе, что с модами, что без, оно проявляется гораздо меньше чем в моих миссиях.

 

 

Вот те миссии, что сделал:

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

 

 

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

 

И да, если в роли сервера выступает кто-то другой, то все эти проблемы проявляются уже только у него))


  • 0

#2 OFFLINE   ReXcOr

ReXcOr

    Ст.сержант

  • Пользователи
  • 264 сообщений
  • Откуда:Moscow

Отправлено 27 June 2018 - 19:13

Только с твоими миссиями так?
У других хостеров имею ввиду

Вообще, такое встречается если у тебя перегружены потоки (вызываются с помощью spawn {})
Или же у тебя какой-то скрипт крутит цикл, в котором нет задержки sleep или uiSleep
Короче грубо говоря, инфа на обработку поступает быстрее чем проц успевает ее хавать
  • 0

#3 OFFLINE   Dimon UA

Dimon UA

    Ст.сержант

  • Пользователи
  • 304 сообщений
  • Откуда:Севастополь

Отправлено 28 June 2018 - 03:26

возможно, что не хватает ОЗУ


  • 0

#4 OFFLINE   0-0

0-0

    Ефрейтор

  • Пользователи
  • 57 сообщений

Отправлено 30 June 2018 - 22:31

Не только с моими. В Протоколе Апекс то же проявляется.


возможно, что не хватает ОЗУ

 

Ну 16ти-то должно хватать) Сама игра не тормозит)


  • 0

#5 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 01 July 2018 - 01:52

А пробовали, в целях теста, не хостить сервер  с клиента, а поднять выделенный сервер?

 

 

Ну 16ти-то должно хватать) Сама игра не тормозит)

Фишка в том, что любое приложение, всегда, может получить доступ только определённому, свободному объёму памяти, Обычно не более 2 гиг для 32бит приложений. Если приложению требуются данные которые не вмещаются в выделенную кучу для данного приложения, то не востребованные данные перемещаются в кеш, который опять же размещён в оперативной памяти, далее если забивается и доступный кеш, то данные вообще выгружаются из оперативы. И наличие 16гиг оперативы не значит что арма получит их все в своё распоряжение. Даже не смотря на то что арма стала, типа, 64 бит приложением, это не значит что и все плюшки 64бит доступны движку армы, ибо сами БЕСы обозначили свою 64 битность армы такими словами, "Это наша магия ...". Что нужно понимать как все эти 64 бит виртуальны, то есть арма по сути так и осталась 32 бит приложением, только по верх накотили алгоритмы которые оптимизируют работу с оперативной памятью.

 

Так что я тоже делаю предположение что в сценарии клиент сервером в через какое то время движок начинает тупить, видимо в какой то момент перестаёт хватать ресурсов системе что бы исполнять роль клиента и сервера одновременно.


Сообщение отредактировал SteelRat: 01 July 2018 - 01:58

  • 0

#6 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 01 July 2018 - 02:12

ЗЫ

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


  • 0

#7 OFFLINE   0-0

0-0

    Ефрейтор

  • Пользователи
  • 57 сообщений

Отправлено 02 July 2018 - 20:09

Я уже думал о выделенном сервере. Но почему-то не могу запустить) Сервер вроде бы запускается. Но при попытке подключения пишет что-то типа: "задание считывается из банка".

 

 

Вычитал тут что можно запустить через бат файл. Вроде сделал:

start arma3server_x64.exe -port=2302 -config=CONFIG_server.cfg -mod=@CBA_A3;@CUP Terrains - Core;@CUP Terrains - Maps;@CUP Terrains - CWA;@RHSAFRF;@RHSUSAF;@RHSGREF;@RHSSAF;@ace;@RYD_FFE;@GRAD Trenches;@task_force_radio;@KA_Weapons_Pack_NEW;

Вот файл конфига:

//
// server.cfg
//
// comments are written with "//" in front of them.

// NOTE: More parameters and details are available at http://community.bistudio.com/wiki/server.cfg

// STEAM PORTS (not needed anymore, it's +1 +2 to gameport)
// steamPort       = 8766;     // default 8766, needs to be unique if multiple serves on same box
// steamQueryPort  = 27016;    // default 27016, needs to be unique if multiple servers on same box

// GENERAL SETTINGS
hostname       = "0";    // Name of the server displayed in the public server list
//password     = "ServerPassword";      // Password required to join the server (remove // at start of line to enable)
passwordAdmin  = "spa";       // Password to login as admin. Open the chat and type: #login password
maxPlayers     = 10;    // Maximum amount of players, including headless clients. Anybody who joins the server is considered a player, regardless of their role or team.
persistent     = 1;     // If set to 1, missions will continue to run after all players have disconnected; required if you want to use the -autoInit startup parameter

// VOICE CHAT
disableVoN       = 0;     // If set to 1, voice chat will be disabled
vonCodecQuality  = 10;    // Supports range 1-30; 1-10 is 8kHz (narrowband), 11-20 is 16kHz (wideband), 21-30 is 32kHz (ultrawideband); higher = better sound quality, more bandwidth consumption

// VOTING
voteMissionPlayers  = 1;       // Minimum number of players required before displaying the mission selection screen, if you have not already selected a mission in this config
voteThreshold       = 0.33;    // Percentage (0.00 to 1.00) of players needed to vote something into effect, for example an admin or a new mission. Set to 9999 to disable voting.
allowedVoteCmds[] =            // Voting commands allowed to players
{
    // {command, preinit, postinit, threshold} - specifying a threshold value will override "voteThreshold" for that command
    {"admin", false, false}, // vote admin
    {"kick", false, true, 0.51}, // vote kick
    {"missions", false, false}, // mission change
    {"mission", false, false}, // mission selection
    {"restart", false, false}, // mission restart
    {"reassign", false, false} // mission restart with roles unassigned
};

// WELCOME MESSAGE ("message of the day")
// It can be several lines, separated by comma
// Empty messages "" will not be displayed, but can be used to increase the delay before other messages
motd[] =
{
    "Teamspeak: ts.somewhere.com",
    "Website: www.example.com"
};
motdInterval = 5;    // Number of seconds between each message

// MISSIONS CYCLE
class Missions
{
    class Mission1
    {
        template = "001.eden"; // Filename of pbo in MPMissions folder
        difficulty = "Custom"; // "Recruit", "Regular", "Veteran", "Custom"
    };
    
        class Mission2
    {
        template = "002.Stratis"; // Filename of pbo in MPMissions folder
        difficulty = "Custom"; // "Recruit", "Regular", "Veteran", "Custom"
    };
    
        class Mission3
    {
        template = "003.Malden"; // Filename of pbo in MPMissions folder
        difficulty = "Custom"; // "Recruit", "Regular", "Veteran", "Custom"
    };
    
        class Mission4
    {
        template = "004.chernarus"; // Filename of pbo in MPMissions folder
        difficulty = "Custom"; // "Recruit", "Regular", "Veteran", "Custom"
    };
    
        class Mission5
    {
        template = "005.zargabad"; // Filename of pbo in MPMissions folder
        difficulty = "Custom"; // "Recruit", "Regular", "Veteran", "Custom"
    };
    
        class Mission6
    {
        template = "006.takistan"; // Filename of pbo in MPMissions folder
        difficulty = "Custom"; // "Recruit", "Regular", "Veteran", "Custom"
    };
    
        class Mission7
    {
        template = "007.eden"; // Filename of pbo in MPMissions folder
        difficulty = "Custom"; // "Recruit", "Regular", "Veteran", "Custom"
    };
};

// LOGGING
timeStampFormat  = "none";                 // Timestamp format used in the server RPT logs. Possible values are "none" (default), "short", "full"
logFile          = "server_console.log";    // Server console output filename

// SECURITY
BattlEye             = 0;    // If set to 1, BattlEye Anti-Cheat will be enabled on the server (default: 1, recommended: 1)
verifySignatures     = 0;    // If set to 2, players with unknown or unsigned mods won't be allowed join (default: 0, recommended: 2)
kickDuplicate        = 0;    // If set to 1, players with an ID that is identical to another player will be kicked (recommended: 1)
allowedFilePatching  = 2;    // Prevents clients with filePatching enabled from joining the server (0 = block filePatching, 1 = allow headless clients, 2 = allow all) (default: 0, recommended: 1)

// FILE EXTENSIONS
allowedLoadFileExtensions[] =       {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"}; // only allow files with those extensions to be loaded via loadFile command (since Arma 3 v1.19.124216)
allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"}; // only allow files with those extensions to be loaded via preprocessFile / preprocessFileLineNumbers commands (since Arma 3 v1.19.124323)
allowedHTMLLoadExtensions[] =       {"htm","html","php","xml","txt"}; // only allow files and URLs with those extensions to be loaded via htmlLoad command (since Arma 3 v1.27.126715)

// EVENT SCRIPTS - see http://community.bistudio.com/wiki/ArmA:_Server_Side_Scripting
onUserConnected     = "";    // command to run when a player connects
onUserDisconnected  = "";    // command to run when a player disconnects
doubleIdDetected    = "";    // command to run if a player has the same ID as another player in the server
onUnsignedData      = "kick (_this select 0)";    // command to run if a player has unsigned files
onHackedData        = "kick (_this select 0)";    // command to run if a player has tampered files

// HEADLESS CLIENT
headlessClients[]  = {"127.0.0.1"};    // list of IP addresses allowed to connect using headless clients; example: {"127.0.0.1", "192.168.1.100"};
localClient[]      = {"127.0.0.1"};    // list of IP addresses to which are granted unlimited bandwidth; example: {"127.0.0.1", "192.168.1.100"};

  • 0

#8 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 02 July 2018 - 20:52

Если в путях к модификациям есть пробелы то нужны ковычки

start arma3server_x64.exe -port=2302 -config=CONFIG_server.cfg "-mod=@CBA_A3;@CUP Terrains - Core;@CUP Terrains - Maps;@CUP Terrains - CWA;@RHSAFRF;@RHSUSAF;@RHSGREF;@RHSSAF;@ace;@RYD_FFE;@GRAD Trenches;@task_force_radio;@KA_Weapons_Pack_NEW"

  • 0

#9 OFFLINE   0-0

0-0

    Ефрейтор

  • Пользователи
  • 57 сообщений

Отправлено 03 July 2018 - 17:24

Сейчас попробую)


Сообщение отредактировал 0-0: 03 July 2018 - 17:36

  • 0

#10 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 03 July 2018 - 17:34

а я что сделал выше?)


  • 0

#11 OFFLINE   0-0

0-0

    Ефрейтор

  • Пользователи
  • 57 сообщений

Отправлено 03 July 2018 - 19:01

То же самое) Считывание из банка)


а я что сделал выше?)

 

Да я затупил там выше))))


  • 0

#12 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 03 July 2018 - 19:56

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


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


Далее, попытайтесь осмысленно осмыслить всё то что вы накидали в конфигурацию сервера, и на сколько вам там многое нужно.


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


  • 0

#13 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 03 July 2018 - 20:08

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


  • 0

#14 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 03 July 2018 - 20:20

PS

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

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


ЗЫ 2

Вы сами в конфигурации сервера указали имя файла с логом процесса, что вам не позволяет в него заглянуть и найти место где вероятная ошибка, и тоже самое поискать в логах клиентов? Вера?)


  • 0

#15 OFFLINE   0-0

0-0

    Ефрейтор

  • Пользователи
  • 57 сообщений

Отправлено 03 July 2018 - 20:55

Ага, спасибо, буду ковыряться)

 

Попробовал запустить миссию без модов с одним штатным юнитом. То же чтение из банка) В общем, дело не в модах. Буду читать всё что вы кинули.

 

 

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


  • 0




Яндекс.Метрика