Welcome to Сообщество игровых серверов NETZONA.ORG

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию другим участникам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Периодические фризы NS 1.1

Статус
В этой теме нельзя размещать новые ответы.

Scoot

Пользователь
Регистрация
12 Мар 2015
Сообщения
200
Реакции
0
Баллы
27
Здравствуйте, иногда на сервере происходит лагодром, а иногда его нет. Как мне объяснили это сама сущность Nutscript'а, якобы в него кучу ненужной фигни засунули, ведь тот же sandbox или darkrp не лагает. Как можно свести к минимуму этот беспредел? Что можно или нужно удалить из фреймворка? Хотелось бы получить ответ, надоело создавать тему в которой никто так и не отвечает.
 
Последнее редактирование:

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
Здравствуйте, иногда на сервере происходит лагодром, а иногда его нет. Как мне объяснили это сама сущность Nutscript'а, якобы в него кучу ненужной фигни засунули, ведь тот же sandbox или darkrp не лагает. Как можно свести к минимуму этот беспредел? Что можно или нужно удалить из фреймворка? Хотелось бы получить ответ, надоело создавать тему в которой никто так и не отвечает.
Тот кто это говорит явно не смыслит ничего в серверостроение.
У натскрипта хорошая оптимизация и лагать оно не может, только если не сунуть в него > 100 скриптов которые пожирают оперативную память сервера. Тот же даркрп, при 40 скриптах уже задыхается. Возможно просто проблемы с сервером, какие характеристики у сервера и ось?
 

Scoot

Пользователь
Регистрация
12 Мар 2015
Сообщения
200
Реакции
0
Баллы
27
Тот кто это говорит явно не смыслит ничего в серверостроение.
У натскрипта хорошая оптимизация и лагать оно не может, только если не сунуть в него > 100 скриптов которые пожирают оперативную память сервера. Тот же даркрп, при 40 скриптах уже задыхается. Возможно просто проблемы с сервером, какие характеристики у сервера и ось?
Домашний ПК: 32 Гб ОЗУ, Windows 10.
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
Домашний ПК: 32 Гб ОЗУ, Windows 10.
процессор какой?
Перед лагами сделай скриншот. Впиши net_graph 3 в консоль и чекай нагрузку.
Можешь еще dbger подключить, чтобы глянуть что так сильно жрет ресурсы.
 

Scoot

Пользователь
Регистрация
12 Мар 2015
Сообщения
200
Реакции
0
Баллы
27
процессор какой?
Перед лагами сделай скриншот. Впиши net_graph 3 в консоль и чекай нагрузку.
Можешь еще dbger подключить, чтобы глянуть что так сильно жрет ресурсы.
Процессор Intel Core i7-7700k • 4.2 Ггц • 4 ядра, 8 потоков.
 

Scoot

Пользователь
Регистрация
12 Мар 2015
Сообщения
200
Реакции
0
Баллы
27
процессор какой?
Перед лагами сделай скриншот. Впиши net_graph 3 в консоль и чекай нагрузку.
Можешь еще dbger подключить, чтобы глянуть что так сильно жрет ресурсы.
Лаги не частые, скриншот сделать скорее всего не успею, они имеют определенную переодичность и длятся от 0.5 до 1 секунды, но заметны.
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
Лаги не частые, скриншот сделать скорее всего не успею, они имеют определенную переодичность и длятся от 0.5 до 1 секунды, но заметны.
Ну игровые компы для такго не подходят, по опыту знаю. Вообще, попробуй тик сделать 33 и меньше. Если слотов больше 30, то тик 33 и ниже в самый раз. Возможно кто-то спамит пропами. Возьми dbugr и чекай нагрузку скриптов. Не могу вспомнить как я фиксил подобные лаги, вспомню отпишу.
 

Scoot

Пользователь
Регистрация
12 Мар 2015
Сообщения
200
Реакции
0
Баллы
27
Ну игровые компы для такго не подходят, по опыту знаю. Вообще, попробуй тик сделать 33 и меньше. Если слотов больше 30, то тик 33 и ниже в самый раз. Возможно кто-то спамит пропами. Возьми dbugrи чекай нагрузку скриптов. Не могу вспомнить как я фиксил подобные лаги, вспомню отпишу.
График показывает какую-то прогрузку ентить, вопрос зачем и как запретить эту прогрузку? После рестарта все нормально, а потом снова начинается постепенно.
 

Вложения

  • 20180121131304_1.jpg
    20180121131304_1.jpg
    398.9 KB · Просмотры: 7
  • 20180121131741_1.jpg
    20180121131741_1.jpg
    513.9 KB · Просмотры: 9
Последнее редактирование:

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
График показывает какую-то прогрузку ентить, вопрос зачем и как запретить эту прогрузку? После рестарта все нормально, а потом снова начинается постепенно.
ентити ты не запретишь. Гмод это одна большая ентити xD
Вообще, походу у тебя что-то с ядрами. Имхо, игровой компьютер не подходит для держания серверов для игр.
Попробуй распределить нагрузку на ядра. Т.к в гмоде нет многопоточности по ядрам, то закинь сервер на одно ядро. Только не кидай на ЦП 0, там вся подсистема, закинь на самое последнее. выбери лишь 1 ядро (cpu).
Используй эту программу для распределения, очень удобная. Специально для гмода сделана: СКАЧАТЬ

Примерно как должно быть: (случайный процесс, взял за пример. В программе чуть по другому)
 

Scoot

Пользователь
Регистрация
12 Мар 2015
Сообщения
200
Реакции
0
Баллы
27
ентити ты не запретишь. Гмод это одна большая ентити xD
Вообще, походу у тебя что-то с ядрами. Имхо, игровой компьютер не подходит для держания серверов для игр.
Попробуй распределить нагрузку на ядра. Т.к в гмоде нет многопоточности по ядрам, то закинь сервер на одно ядро. Только не кидай на ЦП 0, там вся подсистема, закинь на самое последнее. выбери лишь 1 ядро (cpu).
Используй эту программу для распределения, очень удобная. Специально для гмода сделана: СКАЧАТЬ

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

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
Т.е изначально сервер работает на CPU0, где находится система и из-за этого тупит все?
Изначально, он выбирает все CPU т.е все ядра. С помощью программы выбери лишь 1 CPU, но не нулевой. Перебрось туда сервер и жди чуда. Вообще, еще зависит от тикрейта и других вещей. Я уже не помню, но помню что ядра это важная часть.
 

Scoot

Пользователь
Регистрация
12 Мар 2015
Сообщения
200
Реакции
0
Баллы
27
Изначально, он выбирает все CPU т.е все ядра. С помощью программы выбери лишь 1 CPU, но не нулевой. Перебрось туда сервер и жди чуда. Вообще, еще зависит от тикрейта и других вещей. Я уже не помню, но помню что ядра это важная часть.
Я уже заметил разницу, спасибо!
 

Scoot

Пользователь
Регистрация
12 Мар 2015
Сообщения
200
Реакции
0
Баллы
27
Изначально, он выбирает все CPU т.е все ядра. С помощью программы выбери лишь 1 CPU, но не нулевой. Перебрось туда сервер и жди чуда. Вообще, еще зависит от тикрейта и других вещей. Я уже не помню, но помню что ядра это важная часть.
Правда через 40 минут работы в графике наблюдаются микроскачки, каждые 15 секунд
 

Scoot

Пользователь
Регистрация
12 Мар 2015
Сообщения
200
Реакции
0
Баллы
27
Изначально, он выбирает все CPU т.е все ядра. С помощью программы выбери лишь 1 CPU, но не нулевой. Перебрось туда сервер и жди чуда. Вообще, еще зависит от тикрейта и других вещей. Я уже не помню, но помню что ядра это важная часть.
И чем больше игроков тем длинее тот микролаг в графике
 

Scoot

Пользователь
Регистрация
12 Мар 2015
Сообщения
200
Реакции
0
Баллы
27
Изначально, он выбирает все CPU т.е все ядра. С помощью программы выбери лишь 1 CPU, но не нулевой. Перебрось туда сервер и жди чуда. Вообще, еще зависит от тикрейта и других вещей. Я уже не помню, но помню что ядра это важная часть.
Возникает вопрос, может ли подобный код делать лаги, по сути он не должен же выполняться, если условие не верное, ведь так?
Код:
timer.Create("infection_tick", 15, 0, function()
        for _, client in ipairs(player.GetAll()) do
        --    client:StopSound("vj_player/heartbeat.wav");
            local char = client:getChar()
            
            local ent = ents.Create(zombieTable[math.random(1,12)])
            
            if (client:Alive() and char) then
            
                if char:getData( "infection" ) == true then
                    if client:Health() > 1 then
                        client:emote("infectionbloodvomit")
                        client:TakeDamage(1)
                        client:SetWalkSpeed(client:GetWalkSpeed() - 10)
                        client:SetRunSpeed(client:GetRunSpeed() - 30)
                    --    client:EmitSound("vj_player/heartbeat.wav")
                    end
                    if (client:GetWalkSpeed() <= 0 and client:GetRunSpeed() <= 0) then
                    --    client:emote("duck")
                        client:ConCommand("+duck")
                    end
                    if client:Health() == 1 then                   
                        client:TakeDamage(1)
                        ent:SetPos(client:GetPos())
                        ent:Spawn()
                        client:Spawn()
                        char:ban()
                    end
                    local effectdata = EffectData()                   
                    local pos, ang = client:GetBonePosition(client:LookupBone("ValveBiped.Bip01_Head1"))
                    effectdata:SetStart(pos)
                    effectdata:SetOrigin(pos)
                    effectdata:SetAttachment(client:LookupBone("ValveBiped.Bip01_Head1"))
                    effectdata:SetEntity(client)
                    effectdata:SetMagnitude( 1 )
                    effectdata:SetRadius( 1 )
                    util.Effect( "BloodImpact", effectdata, true, true )
                    
                    util.Decal( "blood", client:GetPos() + Vector(math.random(1,30),-math.random(1,30),0), client:GetPos() - Vector(math.random(1,10),math.random(1,10),50))
                    util.Decal( "blood", client:GetPos() + Vector(-math.random(1,30),math.random(1,25),0), client:GetPos() - Vector(math.random(15,25),math.random(15,25),50))
                    util.Decal( "blood", client:GetPos() + Vector(math.random(1,35),-math.random(1,35),0), client:GetPos() - Vector(math.random(25,35),math.random(25,35),50))
                    util.Decal( "blood", client:GetPos() + Vector(-math.random(1,35),math.random(1,35),0), client:GetPos() - Vector(math.random(25,35),math.random(25,35),50))
                    util.Decal( "blood", client:GetPos() + Vector(math.random(1,30),math.random(1,30),0), client:GetPos() - Vector(math.random(1,10),math.random(1,10),50))
                    break
                end
            end
        end
    end)
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
И чем больше игроков тем длинее тот микролаг в графике
Насущная проблема, всех кто держит сервера. У меня подобное было с выделенным сервером.
Я разогнал проц при помощи проги (имя не помню), перебросил серв на отдельное CPU, тикрейт сбил до 22. Дальше не помню, но там я помню, надо было что то в биосе отключить какое-то VT-Hyper что-то такое.

Были микролаги, вывод: держи сервер на vds или игровом хостинге или пытайся своими силами побороть лаги.

По поводу кода: лаги могут быть из за декалей. (effectdata, util.decale, util.Effect)
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу