Создание сервера на Linux

Тема в разделе "Linux", создана пользователем mangust, 16 фев 2011.

  1. befou

    befou Новенький

    а можно ли поставить сервер KF на VDS сервере и, если да, то какой мощности примерно он должен быть на 6 и 15 человек?
     
  2. pingvus

    pingvus Новенький

    Приветствую! Суть такова: Поставил OpenSuse и накатил туда сервер. Порты использовал стандартные, в роутере и модеме их открыл. Всё работает отлично несколько дней. Решил значит запустить еще один сервер - открыл порты вот такие: 7807, 7808, 7817, 28952, 8078, 20660. В ini нашел только где можно прописать вот эти 7807, 7817, 8078. Прописал. Запустил сервер с указанием на новый ini, он работает лог вот такой:
    Код:
    Collecting garbage
    Purging garbage
    Garbage: objects: 57784->57782; refs: 739657
    Game class is 'KFGameType'
    [S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continu                                                                                ing with current version anyway.
    STEAMAUTH : Steam auth system activation successful
    Bringing Level KF-westlondon.myLevel up for play (30) appSeconds: 16.779427...
    (Karma): StaticMesh (W_Blinds) with empty Karma KAggregateGeometry.
    (Karma): StaticMesh (HW_Plane) with empty Karma KAggregateGeometry.
    (Karma): StaticMesh (HW_Plane) with empty Karma KAggregateGeometry.
    (Karma): StaticMesh (HW_Plane) with empty Karma KAggregateGeometry.
    (Karma): StaticMesh (HW_Plane) with empty Karma KAggregateGeometry.
    (Karma): StaticMesh (HW_Plane) with empty Karma KAggregateGeometry.
    (Karma): StaticMesh (HW_Plane) with empty Karma KAggregateGeometry.
    (Karma): StaticMesh (HW_Plane) with empty Karma KAggregateGeometry.
    (Karma): StaticMesh (HW_Plane) with empty Karma KAggregateGeometry.
    (Karma): StaticMesh (W_Blinds) with empty Karma KAggregateGeometry.
    Mutators MutKFAntiBlocker.MutKFAntiBlocker
    GameInfo::InitGame : bEnableStatLogging False
    KFLRules = KF-westlondon.KFLevelRules0
    Game length = 2
    UdpServerQuery(crt): Port 7817 successfully bound.
    Resolving master0.gamespy.com...
    MasterServerUplink: MasterServerGameStats not found - stats uploading disabled.
    Defaulting to false
    Defaulting to false
    Loading Available Maps
    Loading Game Types
    XWebAdmin.UTServerAdmin Initialized on port 8078
    [~] ServerAdsSE WebAdmin loaded
    KFDoorMover KF-westlondon.KFDoorMover16 (Function KFMod.KFDoorMover.PostBeginPla                                                                                y:0214) Multiple triggers found!
    KFDoorMover KF-westlondon.KFDoorMover16 (Function KFMod.KFDoorMover.PostBeginPla                                                                                y:0214) Multiple triggers found!
    KFDoorMover KF-westlondon.KFDoorMover16 (Function KFMod.KFDoorMover.PostBeginPla                                                                                y:0214) Multiple triggers found!
    KFDoorMover KF-westlondon.KFDoorMover16 (Function KFMod.KFDoorMover.PostBeginPla                                                                                y:0214) Multiple triggers found!
    KFDoorMover KF-westlondon.KFDoorMover16 (Function KFMod.KFDoorMover.PostBeginPla                                                                                y:0214) Multiple triggers found!
    KFDoorMover KF-westlondon.KFDoorMover16 (Function KFMod.KFDoorMover.PostBeginPla                                                                                y:0214) Multiple triggers found!
    KFDoorMover KF-westlondon.KFDoorMover16 (Function KFMod.KFDoorMover.PostBeginPla                                                                                y:0214) Multiple triggers found!
    KFDoorMover KF-westlondon.KFDoorMover16 (Function KFMod.KFDoorMover.PostBeginPla                                                                                y:0214) Multiple triggers found!
    KFDoorMover KF-westlondon.KFDoorMover16 (Function KFMod.KFDoorMover.PostBeginPla                                                                                y:0214) Multiple triggers found!
    Resolving tripwireinteractive.com...
    [~] Starting ServerAdsSE version: 102
    [~] Michiel 'El Muerte' Hendriks - elmuerte@drunksnipers.com
    [~] The Drunk Snipers - http://www.drunksnipers.com
    [~] There are 2 lines in the list
    Resolved master0.gamespy.com (69.10.30.248)
    UdpGameSpyUplink: Master Server is master0.gamespy.com:27900
    UdpGameSpyUplink: Port 7818 successfully bound.
    Resolved tripwireinteractive.com (69.31.134.234)
    STEAMAUTH : Sending updated server details - PenguinWorld.ru_Hard_NSK_WebStream                                                                                 0 | 6
    STEAMAUTH : Connected to Steam Servers
    STEAMAUTH : VAC Security Enabled
    STEAMSTATS: Stats Are Now Enabled
    Adding master server 208.64.200.65:27015
    Adding master server 63.234.149.83:27011
    STEAMAUTH : Sending updated server details - PenguinWorld.ru_Hard_NSK_WebStream 0 | 6
    STEAMAUTH : Sending updated server details - PenguinWorld.ru_Hard_NSK_WebStream 0 | 6
    
    Т.е. видно что он работает НО его не видно в gamelist. т.е. его можно добавить вручную в избранное и зайти. НО почему его не видно в листе серверов? Первый ведь видно и люди заходят.

    Проблема решена. Причина невнимательность. надо было еще открыть TCPпорт 28952
     
  3. GreeN

    GreeN Солдат

    Где можно включить фф на сервере?(Frienfly fire)
     
  4. Proton

    Proton Игровой администратор

    В killingfloor.ini в разделе:

    [KFmod.KFGameType]
    KFGameLength=3
    ...
    InitialWave=0
    FinalWave=7
    ...
    Waves[15]=(WaveMask=125892608,WaveMaxMonsters=15,WaveDuration=255,WaveDifficulty=2.000000)
    bAllowNonTeamChat=True
    FriendlyFireScale=0.100000 // в данной строчке 10% стоит
    NetWait=5
    bForceRespawn=True
    bAdjustSkill=True
    bAllowTaunts=True
     
    ЛОХМАТЫЙ нравится это.
  5. GreeN

    GreeN Солдат

    спасибо)а еще вопрос тогда,как стандартный магазин вернуть в сп 5? :whistling:
     
  6. Proton

    Proton Игровой администратор

    Никак
     
  7. GreeN

    GreeN Солдат

    ыы)с 1 стороны все,что я пробовал,чтобы его убрать - не обвенчалось успехом,с другой,баровцы перешли на сп5(вроде бы)и у них меню стандартное
    В общем это - печально)

    Вчера кое-кто(не будем называть имен) вызвал сталкеров на прометеусе,после этого сервак разумеется упал,но это не главное)главное то, что теперь сервак меняет карту раз в минуту,и не просто меняет ,приблизительно через минуту игры игрока атакуют невидимые мобы(также как при вызове вырезанных мобов,только всегда и на любой карте,урон они не наносят, н оерс умирает секунд через 5 и сервак меняет карту))
    Это как-нить можно исправить?
    Вариант - переставить серв не надо прелагать))
     
  8. Gwyn

    Gwyn Чудо Йогурт

    как вариант удалить файл конфигурации т.е. Killingfloor.ini
     
  9. HappyRodger

    HappyRodger Консильери

    Предупреждение
    Действие выполнялось для сервера BAR ZOMBiES, настоятельно рекомендуется "сохраниться"



    Подарочек от нашего кодера IronBee.
    На баре версия сп 5.10
    Для всех желающих избавиться от КАТЕГОРИЙ оружия в магазине на сп5 советую сделать это действие

    ВСЕ ВЫПОЛНЯЙТЕ ПО ОЧЕРЕДИ
    Файл ServerPerksMut.uc:

    функция PostBeginPlay():
    Убираем позагрузку категорий из конфига. Ищем:

    for( i=0; i<TraderInventory.Length; i++ )
    {
    S = TraderInventory;
    j = InStr(S,":");
    if( j>0 )
    {
    Cat = Min(int(Left(S,j)),WeaponCategories.Length-1);
    S = Mid(S,j+1);
    }
    else Cat = 0;
    P = class<Pickup>(DynamicLoadObject(S,Class'Class'));
    if( P!=None )
    {
    LoadInventory[LoadInventory.Length] = P;
    LoadInvCategory[LoadInvCategory.Length] = Cat;
    if( P.Outer.Name!='KFMod' )
    ServerPcks[ServerPcks.Length] = P.Outer.Name;
    }
    }

    заменяем на:

    for( i=0; i<TraderInventory.Length; i++ )
    {
    S = TraderInventory;
    Cat=0;
    P = class<Pickup>(DynamicLoadObject(S,Class'Class'));
    if( P!=None )
    {
    LoadInventory[LoadInventory.Length] = P;
    LoadInvCategory[LoadInvCategory.Length] = Cat;
    if( P.Outer.Name!='KFMod' )
    ServerPcks[ServerPcks.Length] = P.Outer.Name;
    }
    }

    *примечание: в настройках TraderInventory должен содержать ТОЛЬКО класс оружия, номера категории быть не должно

    Удаляем/коментируем:
    if( WeaponCategories.Length==0 )
    {
    WeaponCategories.Length = 1;
    WeaponCategories[0] = "All";
    }

    Далее просто избавляемя от всех упоминаний о категориях:
    функция SetupRepLink( ClientPerkRepLink R )
    удаляем/коментируем:

    R.ShopCategories = WeaponCategories;
    R.ShopInventory.CatNum = LoadInvCategory;

    функция FillPlayInfo(PlayInfo PlayInfo):
    удаляем/коментируем:

    PlayInfo.AddSetting(default.ServerPerksGroup,"WeaponCategories","Weapon categories",1,1,"Text","42",,,True);

    функция GetDescriptionText(string PropName):
    удаляем/коментируем:

    case "WeaponCategories": return "Weapon category names.";

    Удаляем переменную WeaponCategories, правим стандартные свойства.

    Файл SRBuyMenuSaleListBox.uc:
    удаляем/коментируем функцию GetSelectedBuyable()

    Файл SRBuyMenuSaleList.uc:
    удаляем/коментируем функцию GetSelectedBuyable()

    Ищем:

    final function SetCategoryNum( int N )
    {
    if( ActiveCategory==N )
    ActiveCategory = -1;
    else ActiveCategory = N;
    SelectionOffset = (N+1);
    UpdateForSaleBuyables();
    Index = N;
    }

    заменяем на:
    final function SetCategoryNum( int N );

    Функция UpdateForSaleBuyables()

    Ищем:

    if ( ForSalePickup==None || ActiveCategory!=KFLR.ShopInventory[j].CatNum
    || class<KFWeapon>(ForSalePickup.default.InventoryType).default.bKFNeverThrow
    || IsInInventory(ForSalePickup) )
    continue;

    Заменяем на:

    if ( ForSalePickup==None || class<KFWeapon>(ForSalePickup.default.InventoryType).default.bKFNeverThrow
    || IsInInventory(ForSalePickup) )
    continue;

    Заменяем функцию DrawInvItem(Canvas Canvas, int CurIndex, float X, float Y, float Width, float Height, bool bSelected, bool bPending) на более стандартный вариант с подменой KFGameType на ClientPerkRepLink:

    function DrawInvItem(Canvas Canvas, int CurIndex, float X, float Y, float Width, float Height, bool bSelected, bool bPending)
    {
    local float TempX, TempY, TempHeight;
    local float StringHeight, StringWidth;
    local ClientPerkRepLink KFLR;
    OnClickSound=CS_Click;

    // Offset for the Background
    TempX = X;
    TempY = Y + ItemSpacing / 2.0;

    // Initialize the Canvas
    Canvas.Style = 1;
    //Canvas.Font = class'ROHUD'.Static.GetSmallMenuFont(Canvas);
    Canvas.SetDrawColor(255, 255, 255, 255);

    // Draw Item Background
    Canvas.SetPos(TempX, TempY);

    if ( CanBuys[CurIndex] < 1 )
    {
    Canvas.DrawTileStretched(DisabledItemBackgroundLeft, Height - ItemSpacing, Height - ItemSpacing);

    TempX += ((Height - ItemSpacing) - 1);
    TempHeight = Height - 12;
    TempY += 6;//(Height - TempHeight) / 2;

    Canvas.SetPos(TempX, TempY);

    Canvas.DrawTileStretched(DisabledItemBackgroundRight, Width - (Height - ItemSpacing), Height - 12);
    }
    else if ( bSelected )
    {
    Canvas.DrawTileStretched(SelectedItemBackgroundLeft, Height - ItemSpacing, Height - ItemSpacing);

    TempX += ((Height - ItemSpacing) - 1);
    TempHeight = Height - 12;
    TempY += 6;//(Height - TempHeight) / 2;

    Canvas.SetPos(TempX, TempY);

    Canvas.DrawTileStretched(SelectedItemBackgroundRight, Width - (Height - ItemSpacing), Height - 12);
    }
    else
    {
    Canvas.DrawTileStretched(ItemBackgroundLeft, Height - ItemSpacing, Height - ItemSpacing);

    TempX += ((Height - ItemSpacing) - 1);
    TempHeight = Height - 12;
    TempY += 6;//(Height - TempHeight) / 2;

    Canvas.SetPos(TempX, TempY);

    Canvas.DrawTileStretched(ItemBackgroundRight, Width - (Height - ItemSpacing), Height - 12);
    }

    Canvas.SetPos(X + 4, Y + 4);
    KFLR = Class'ClientPerkRepLink'.Static.FindStats(PlayerOwner());
    if( KFLR!=None && KFLR.ShopPerkIcons.Length>ItemPerkIndexes[CurIndex] )
    Canvas.DrawTile(KFLR.ShopPerkIcons[ItemPerkIndexes[CurIndex]], Height - 8, Height - 8, 0, 0, 256, 256);

    // Select Text color
    if ( CurIndex == MouseOverIndex )
    {
    Canvas.SetDrawColor(255, 255, 255, 255);
    }
    else
    {
    Canvas.SetDrawColor(0, 0, 0, 255);
    }

    // Draw the item's name and categorie
    Canvas.StrLen(PrimaryStrings[CurIndex], StringWidth, StringHeight);
    Canvas.SetPos(TempX + (0.2 * Height), TempY + ((TempHeight - StringHeight) / 2));
    Canvas.DrawText(PrimaryStrings[CurIndex]);

    // Draw the item's price
    Canvas.StrLen(SecondaryStrings[CurIndex], StringWidth, StringHeight);
    Canvas.SetPos((TempX - Height) + Width - (StringWidth + (0.2 * Height)), TempY + ((TempHeight - StringHeight) / 2));
    Canvas.DrawText(SecondaryStrings[CurIndex]);

    Canvas.SetDrawColor(255, 255, 255, 255);
    }

    Удаляем/коментируем фуннкции IndexChanged(GUIComponent Sender), UpdateList()

    Удаляем все переменные и свойства, кроме:
    var KFPCServ PPC;

    Сохраняем, компилируем, категорий больше нет
     
    GreeN нравится это.
  10. r1v3t

    r1v3t Соучастник



    Это наверное такой прикол http://killingfloor.ru/forum/index.php?/topic/668-serverperks-%d0%b2%d1%81%d1%91-%d0%be-%d0%bc%d1%83%d1%82%d0%b0%d1%82%d0%be%d1%80%d0%b5/page__view__findpost__p__46128 ?

    какая связь гайда с серверами на линукс?
     
  11. GreeN

    GreeN Солдат

    потому что я роджера просил давно подсказать, он какраз ответил в тему,в которую я стал в последнее время часто заглядывать
     
  12. Virkom

    Virkom Новенький

    У меня точно такая же проблема. Уже часа три гуглю и ничего не могу найти.
    Поясните решение, которое описал автор, а то я уже и не знаю, что делать.
    "Скачал оригинальный libsteam_api_linux.so" - это какой?
    "Скинул libsteam_api_linux.so из патча" - из какого патча?

    Делал все по этой инструкции. Все пункты прошел кроме последнего. На страницу http://code.google.com/p/tzdata/ меня не пускает. Пишет ошибку 403.

    P.S.: Debian Lenny x86-64
    Killing Floor 1032

    Надеюсь, хоть вы мне поможете, потому что сам уже 3 часа не могу найти решение.

    P.S.: Как я понимаю, проблему решил. Установкой rev вместо eSTEAMATION. К серверу подключается, пока качает карты и разбираюсь с прочими несоответствиями текстур, звуков... Так что играть не удается пока что, но думаю, что проблема собственно запуска сервера решилась.
     
  13. IOzer

    IOzer Новенький

    Сделал всё как написано

    В итоге после перезапуска сервера выдаёт такое:

    ***** Ошибочный файл запуска *****
    Checking bootstrapper version ...
    Updating Installation
    Checking/Installing 'KillingFloorCommon' version 43


    Checking/Installing 'KillingFloorDedicatedServerLinux' version 62


    HLDS installation up to date
    CAsyncIOManager: 0 threads terminating. 0 reads, 0 writes, 0 deferrals.
    CAsyncIOManager: 54 single object sleeps, 0 multi object sleeps
    CAsyncIOManager: 0 single object alertable sleeps, 0 multi object alertable sleeps
    ***** Ошибочный файл запуска *****
    Checking bootstrapper version ...
    Updating Installation
    Checking/Installing 'KillingFloorCommon' version 43


    Checking/Installing 'KillingFloorDedicatedServerLinux' version 62

    сервер не запускается подскажите что не так??
     
  14. Локомотив

    Локомотив Соучастник


    причем тут команда обновления сервера и запуска сервера? :down:


    Привер запуска


    screen -A -m -d -S kf ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6?AdminName=admin?AdminPassword=xxxxxx
     
  15. IOzer

    IOzer Новенький

    Сервер на игрохосте а там доступа к параметрам запуска нет =(
     
  16. Локомотив

    Локомотив Соучастник

    судя по тому логу ты не запускаешь, а обновляешь.
     
  17. bigbrain911

    bigbrain911 Соучастник

    Подскажите почему то периодически пропадает сервер из мониторинга, т.е. получается что порты 7707, 7708, 7717 закрыты, потом через некоторое время все нормально мониторится, и так несколько раз в день с разной продолжительностью, настройки не трогал, сервер на дебиане, в такие моменты даже перезагрузка игрового сервера не помогает, пока само не пройдет. В такие моменты на сканере портов http://speed-tester.info/check_port.php показывает что порты закрыты 7707, 7708, 7717, но люди конектятся и играют. Что делать и куда бежать ?

    Вот еще, попробовал отключить скрипт на увеличение кеша и мобов, вроде начал мониторится, но не факт что просто не совпало, может ли скрипт засирать порты?

    Сам скрипт:

    #!/bin/sh
    #clear
    while sleep 5
    do
    curl -d "SendText=set KFmod.KFGameType StartingCash 1500" http://********:********@********:8075/ServerAdmin/current_console > nul
    curl -d "SendText=set KFmod.KFGameType MinRespawnCash 1000" http://********:********@********:8075/ServerAdmin/current_console > nul
    curl -d "SendText=set KFmod.KFGameType MaxZombiesOnce 150" http://********:********@********:8075/ServerAdmin/current_console > nul
    done

    Сегодня повторилась описанная выше ситуация, пробовал отключить скрипт, не помогло.
     
  18. bigbrain911

    bigbrain911 Соучастник

    Здесь хоть кто нибудь появляется ?
     
  19. warpel

    warpel Солдат

    Интересно узнать,делалось все на вдс или на полноценной машине?
     
  20. bigbrain911

    bigbrain911 Соучастник

    Полноценная машина, на дебиане.