Tutorial: server de E.T. – Quake Wars (versiunea demo)

In cadrul unui articol anterior v-am prezentat jocul E.T.-Quake Wars versiunea demo. Am jocul in calculator de aproape 3 saptmani si pot spune ca a inceput sa imi placa, chiar daca talentul meu in joc este unul mic. Atat de mult mi-a placut incat am zis sa creez un tutorial in care sa va arat cum se poate crea un server de joc, folosind desigur versiunea demo, server dedicat pentru internet. In primul rand aveti nevoie de o distributie linux, jocul mergand atat pe arhitectura de 32 de biti cat si pe 64 de biti, avand fisierele necesare pentru emularea mediului de 32 de biti (inclusiv librariile de 32 de biti pentru driverul video). In al doilea rand aveti nevoie de versiunea demo a jocului, pe care o puteti obtine accesand aceasta pagina. Dupa ce jocul s-a descarcat creati directorul in care sa il instalati, deschizand consola si folosind comanda mkdir et-qw (de exemplu) in /home/nume-utilizator/. O data ce directorul a fost creat puteti instala jocul (tot din consola) prin comanda ./ETQW-demo2-client-full.r1.x86.run si aveti grija sa adaugati locatia unde jocul va fi instalat sub forma /home/nume-utilizator/et-qw/.

Dupa ce jocul a fost instalat este necesar sa configuram fisierul server.cfg folosind un editor de texte(precum pica sau vim), care se afla in ~/et-qw/base/, in care puteti adauga urmatoarele variabile:
bot_aimSkill "1" // sets the bot's default aiming skill. 0 = EASY, 1 = MEDIUM, 2 = EXPERT, 3 = MASTER, default = "1"
bot_allowClassChanges "1" // 0 = bots won't ever change their class, 1 = Bots can change their class thru script/code, default = "1"
bot_balanceCriticalClass "1" // have the bots try to keep someone playing the critical class at all times. 0 = keep the class they spawn in as, default = "1"
bot_doObjectives "1" // 0 = bots let the player play the hero, with the bots filling a supporting role, 1 = bots do all the major objectives along with the player, default = "1"
bot_enable "0" // 0 = bots will not be loaded in the game, 1 = bots are loaded, default = "1"
bot_fakePing "0" // have the bots display fake pings in the scoreboard, default = "0"
bot_knifeOnly "0" // goofy mode where the bots only use their knifes in combat, default = "0"
bot_minClients "-1" // keep a minimum number of clients on the server with bots and humans. -1 = disabled, default = "-1"
bot_minClientsMax "10" // maximum allowed value of bot_minClients. Only affects the in-game UI, default = "16"
bot_noTaunt "1" // 0 = bots taunt, 1 = bots never taunt, default = "1"
bot_sillyWarmup "0" // 0 = bots play the game like normal, 1 = bots shoot each other and act silly during warmup, default = "0"
bot_skill "2" // sets the bot's default AI skill. 0 = EASY, 1 = NORMAL, 2 = EXPERT, default = "1"
bot_sleepWhenServerEmpty "1" // has the bots stop thinking when the server is idle and there are no humans playing, to conserve CPU, default = "1"
bot_uiNumGDF "-1" // the number of gdf bots to add to the server. -1 = disabled, default = "-1"
bot_uiNumStrogg "-1" // the number of strogg bots to add to the server. -1 = disabled, default = "-1"
bot_uiSkill "2" // only used by the GUI for skill presets, you can ignore this setting totally, default = "1"
bot_useDeployables "1" // 0 = bots dont drop deployables of any kind, 1 = bots can drop all deployables, default = "1"
bot_useShotguns "1" // 0 = bots wont use shotguns/nailguns, 1 = bots will use shotguns/nailguns, default = "0"
bot_useSniperWeapons "1" // 0 = bots wont use sniper rifles, 1 = bots will use sniper rifles, default = "1"
bot_useSpawnHosts "1" // 0 = strogg bots can't use spawn host bodies, 1 = bots can use spawnhosts, default = "1"
bot_useStrafeJump "0" // 0 = bots can't strafe jump, 1 = bots can strafe jump to goal locations that are far away, default = "0"
bot_useSuicideWhenStuck "1" // 0 = bots never suicide when stuck, 1 = bots suicide if they detect that they're stuck, default = "1"
bot_useTKRevive "1" // allows the bots to use the advanced tactic of TK reviving if their teammate is weak, 0 = disabled, default = "1"
bot_useUniforms "1" // 0 = bots won't steal uniforms, 1 = bots take uniforms, default = "1"
bot_useVehicles "1" // 0 = bots dont use vehicles, 1 = bots do use vehicles, default = "1"

g_allowComplaint_charge "0" // allow complaints for teamkills with charges, default = "0"
g_allowComplaint_explosives "1" // allow complaints for teamkills with explosive weapons and items, default = "1"
g_allowComplaint_firesupport "1" // allow complaints for teamkills with fire support, default = "1"
g_allowComplaint_vehicles "1" // allow complaints for teamkills with vehicle, default = "1"
g_autoReadyPercent "51" // percentage of a full server that must be in game for auto ready to start, default = "50"
g_autoReadyWait "1" // length of time auto ready will wait before starting the countdown, default = "1"
g_complaintGUIDLimit "4" // total unique complaints at which a player will be kicked, default = "4"
g_complaintLimit "6" // total complaints at which a player will be kicked, default = "6"
g_disableFootsteps "0" // enable/disable footsteps, default = "0"
g_disableGlobalAudio "0" // disable global VOIP communication, default = "0"
g_execMapConfigs "0" // execute map cfg with same name, default = "0"
g_gameReviewPause "0.5" // time (in minutes) for scores review time, default = "0.5"
g_gravity "1066" // gravity, default = "1066"
g_kickBanLength "5" // length of time a kicked player will be banned for, default = "2"
g_kickTime "1" // dunno, default = "1"
g_logObjectives "1" // log objective completion info, default = "1"
g_logProficiency "1" // log proficiency data, default = "1"
g_maxPlayerWarnings "4" // maximum warnings before player is kicked, default = "0"
g_maxSpectateTime "0" // maximum length of time a player may spectate for, default = "0"
g_maxVoiceChats "4" // maximum number of voice chats a player may do in a period of time, default = "4"
g_maxVoiceChatsOver "30" // time over which the maximum number of voice chat limit is applied, default = "30"
g_muteSpecs "0" // send all spectator global chat to team chat, default = "0"
g_noBotSpectate "1" // disables the ability to spectate bots, default = "0"
g_noRouteConstraintKick "0" // enables/disables players being kicked for deviating from routes, default = "0"
g_noRouteMaskDestruction "0" // enables/disables the mcp being destroyed when driven outside the mask, default = "0"
g_noVehicleDecay "0" // enables / disables vehicle decay, default = "0"
g_password "" // game password, default = ""
g_playerPushForce "200" // force players can be pushed by other players, default = "200"
g_privatePassword "SOMEPASS" // game password for private slots, default = ""
g_stopWatchMode "0" // stopwatch mode, 0 = ABBA, 1 = ABAB, default = "0"
g_teamSwitchDelay "10" // delay (in seconds) before player can change teams again, default = "5"
g_timeoutToSpec "0" // timeout for players who are AFK to go into spectator mode, 0 = disabled, default = "0"
g_useBotsInPlayerTotal "1" // should bots count towards the number of players required to start the game?, default = "1"
g_votePassPercentage "51" // percentage of yes votes required for a vote to pass, default = "51"
g_voteWait "2" // delay (in minutes) before player may perform a callvote again, default = "2.5"
g_warmup "0.25" // length (in minutes) of warmup period, default = "0.5"
g_warmupDamage "1" // enable/disable players taking damage during warmup, default = "1"
g_xpSave "1" // stores xp for disconnected players which will be given back if they reconnect, default = "1"

logFile "1" // 1 = buffer log, 2 = flush after each print, default = "0"
logFileName "server.log" // name of log file, if empty, console.log will be used. $Y = year, $M = month, $D = day, $h = hour, $m = minute, $s = second, default = "console.log"
logTimeStamps "1" // add time stamps to console log, default = "0"

net_allowCheats "0" // allow cheats in network game, default = "0"
net_ip "localhost" // local IP address, default = "localhost" (i use it here so i know which server i edit, use it in command line too!)
net_LANForceAuth "0" // force authentication on LAN games, default = "0"
net_LANserver "0" // config LAN games only - affects clients and servers, default = "0"
net_port "27733" // local IP port number, default = "" (i use it here so i know which server i edit, use it in command line too!)
net_serverAllowServerMod "0" // allow server-side mods, default = "0"
net_serverClientTimeout "40" // client time out in seconds, default = "40"
net_serverMaxClientRate "16000" // maximum rate to a client in bytes/sec, default = "16000"
net_serverMaxReservedClientSlots "2" // maximum number of player slots reserved for session invites, default = "2"
net_serverPunkbusterEnabled "1" // is server side PunkBuster enabled?, default = "0"
net_serverReloadEngine "0" // perform a full reload on next map restart (including flushing referenced pak files) - decreased if > 0, default = "0"
net_serverRemoteConsolePassword "SOMEPASS" // remote console password, default = ""
net_updateAutoDownload "1" // control auto download of game updates. 0 = disabled, 1 = prompt on client, auto download on server, 2 = always auto download, default = "1"
net_updateAutoExecute "1" // execute the installer once downloaded. 0 = disabled, 1 = yes on client, not on server, 2 = yes, default = "1"

si_adminname "nume-admin" // admin name(s), default = ""
si_adminStart "0" // admin required to start the match, default = "0"
si_allowLateJoin "1" // enable/disable players joining a match in progress, default = "1"
si_antiLag "1" // server does antilag on players, default = "1"
si_antiLagForgiving "0" // how forgiving the antilag is - the higher, the more forgiving, default = "0"
si_antiLagOnly "0" // ONLY use antilag, default = "0"
si_disableGlobalChat "0" // disable global text communication, default = "0"
si_disableVoting "0" // disable/enable all voting, default = "0"
si_email "" // contact email address, default = ""
si_gameReviewReadyWait "0" // wait for players to ready up before going to the next map, default = "0"
si_irc "" // IRC channel, default = ""
si_maxPlayers "18" // max number of players allowed on the server, default = "24"
si_minPlayers "2" // minimum players before a game can be started, default = "6"
si_motd_1 "^NWelcome to my demo server" // motd line 1, default = ""
si_motd_2 "^NBehave and have fun!" // motd line 2, default = ""
si_motd_3 "" // motd line 3, default = ""
si_motd_4 "" // motd line 4, default = ""
si_name "My server" // name of the server, default = "ETQW Server"
si_needPass "0" // enable client password checking, default = "0"
si_noProficiency "0" // enable/disable XP, default = "0"
si_privateClients "2" // max number of private player slots allowed on the server, default = "0"
si_pure "1" // server is pure and does not allow modified data, default = "1"
si_readyPercent "51" // percentage of players that need to ready up to start a match, default = "51"
si_rules "sdGameRulesCampaign" // ruleset for game, default = "sdGameRulesCampaign", can be "sdGameRulesCampaign", "sdGameRulesObjective" or "sdGameRulesStopWatch"
si_spectators "1" // 1 = allow spectators, 0 = require all clients to play, default = "1"
si_teamDamage "1" // enable team damage, default = "1"
si_teamForceBalance "1" // stop players from unbalancing teams, default = "1"
si_timelimit "20" // time limit (in minutes), default = "20"
si_website "" // website info, default = ""

spawnServer campaign_demo // keep this entry as last in your config file, use to finally spawn the server, can be "campaign_demo" or "valley" (in demo only!)

Nu uitati sa adaugati argumtele corecte pentru variabile precum numele serverului si desigur portul pe care il va folosi. Portul initial al jocului este 27733, port care trebuie deschis in firewall si desigur trebuie configurat si pe router daca aveti asa ceva. Personal va recomand sa completati parola de rcon pentru a putea controla serverul direct din joc, net_serverRemoteConsolePassword parola; ca si admin de server puteti folosi rcon numai dupa ce executati comanda net_ClientRemoteConsolePassword parola, parola fiind cea scrisa de voi in server.cfg. Pe langa server.cfg mai este bine sa avem si doua cfg-uri prin care sa controlam prezenta botilor: bots.cfg si nobots.cfg. Aceste fisiere cfg le creati de asemenea in ~/et-qw/base/ si le executati din consola de joc prin rcon exec nume-cfg.cfg
In bots.cfg am avea urmatoarele variabile:
set bot_enable “1”
set bot_minClients “10”
(de exemplu), care adauga 10 boti pe serverul vostru.
Pentru nobots.cfg am avea de asemenea aceaste variabile:
set bot_enable “0”
set bot_minClients “-1”
care elimina orice bot de pe server.

Trebuie sa recunosc ca am avut nevoie de Google pentru a gasi aceste date, de aceea daca limba germana este punctul vostru forte atunci ve-ti intelege pagina ce contine tutorialul tradus si adaptat de mine. De asemenea la fel de utila este si pagina cu toate variabilele disponibile din cadrul jocului, pe care le puteti vizualiza aici. Distractie placuta si spor la fraguri va doresc :)

Leave a Reply

Your email address will not be published. Required fields are marked *