Fixed it by adding this in Dockerfile:
RUN /opt/steam/steamcmd.sh +login $steam_user $steam_password +force_install_dir /opt/hlds +app_update 70 validate +quit || : RUN /opt/steam/steamcmd.sh +login $steam_user $steam_password +force_install_dir /opt/hlds +app_update 10 validate +quit || : RUN /opt/steam/steamcmd.sh +login $steam_user $steam_password +force_install_dir /opt/hlds +app_update 90 validate +quit RUN /opt/steam/steamcmd.sh +login $steam_user $steam_password +force_install_dir /opt/hlds +app_update 70 validate +quit || : RUN /opt/steam/steamcmd.sh +login $steam_user $steam_password +force_install_dir /opt/hlds +app_update 10 validate +quit || : RUN /opt/steam/steamcmd.sh +login $steam_user $steam_password +force_install_dir /opt/hlds +app_update 90 validate +quit
To be more correct, this works since ...app_update 70
and ...app_update 10
commands preceding ...app_update 90
and thus properly install required dirs, so complete dockerfile should look like this:
FROM debian:jessie
LABEL maintainer "Artem Panchenko <kazar.artem@gmail.com>"
ARG steam_user=anonymous
ARG steam_password=
ARG metamod_version=1.20
ARG amxmod_version=1.8.2
RUN apt update && apt install -y lib32gcc1 curl
# Install SteamCMD
RUN mkdir -p /opt/steam && cd /opt/steam &&
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
# Install HLDS
RUN mkdir -p /opt/hlds
# Workaround for "app_update 90" bug, see https://forums.alliedmods.net/showthread.php?p=2518786
# REMOVE first command or docker will stuck up on it's error and you will receive notorious "App '90' state is 0xE" error
# RUN /opt/steam/steamcmd.sh +login $steam_user $steam_password +force_install_dir /opt/hlds +app_update 90 validate +quit
RUN /opt/steam/steamcmd.sh +login $steam_user $steam_password +force_install_dir /opt/hlds +app_update 70 validate +quit || :
RUN /opt/steam/steamcmd.sh +login $steam_user $steam_password +force_install_dir /opt/hlds +app_update 10 validate +quit || :
RUN /opt/steam/steamcmd.sh +login $steam_user $steam_password +force_install_dir /opt/hlds +app_update 90 validate +quit
RUN mkdir -p ~/.steam && ln -s /opt/hlds ~/.steam/sdk32
RUN ln -s /opt/steam/ /opt/hlds/steamcmd
ADD files/steam_appid.txt /opt/hlds/steam_appid.txt
ADD hlds_run.sh /bin/hlds_run.sh
# Add default config
ADD files/server.cfg /opt/hlds/cstrike/server.cfg
# Add maps
ADD maps/* /opt/hlds/cstrike/maps/
ADD files/mapcycle.txt /opt/hlds/cstrike/mapcycle.txt
# Install metamod
RUN mkdir -p /opt/hlds/cstrike/addons/metamod/dlls
RUN curl -sqL "http://prdownloads.sourceforge.net/metamod/metamod-$metamod_version-linux.tar.gz?download" | tar -C /opt/hlds/cstrike/addons/metamod/dlls -zxvf -
ADD files/liblist.gam /opt/hlds/cstrike/liblist.gam
# Remove this line if you aren't going to install/use amxmodx and dproto
ADD files/plugins.ini /opt/hlds/cstrike/addons/metamod/plugins.ini
# Install dproto
RUN mkdir -p /opt/hlds/cstrike/addons/dproto
ADD files/dproto_i386.so /opt/hlds/cstrike/addons/dproto/dproto_i386.so
ADD files/dproto.cfg /opt/hlds/cstrike/dproto.cfg
# Install AMX mod X
RUN curl -sqL "http://www.amxmodx.org/release/amxmodx-$amxmod_version-base-linux.tar.gz" | tar -C /opt/hlds/cstrike/ -zxvf -
RUN curl -sqL "http://www.amxmodx.org/release/amxmodx-$amxmod_version-cstrike-linux.tar.gz" | tar -C /opt/hlds/cstrike/ -zxvf -
ADD files/maps.ini /opt/hlds/cstrike/addons/amxmodx/configs/maps.ini
# Cleanup
RUN apt remove -y curl
WORKDIR /opt/hlds
ENTRYPOINT ["/bin/hlds_run.sh"]
Наши новости: |
MiXa |
Сообщение
|
|
первый запуск(права 777 установлены) Код This computer has not been authenticated for your account using Steam Guard. Steam>/home/buildbot/buildslave/steam_rel_client_linux/build/src/common/httpclient.cpp (3603) : Assertion Failed: Failed writing http cache file to disk Код [email protected]:~# [email protected]:/home/mishamp1/steamcmd# ./steamcmd.sh Steam>login anonymous Connecting anonymously to Steam Public…Logged in OK Steam>app_set_config 90 mod cstrike Steam>app_update 90 validate Steam> установлен debian-7.8.0-i386- netinst права стоят 777 на все файлы steamcmd, папка лежит в папке пользователя, из за чего появляется данная ошибка? Отредактировал: MiXa, — 24.1.2015, 14:59 Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери Моди Плагіни Модулі |
|
|
FakePlayer |
Сообщение
|
Стаж: 8 лет 8 месяцев Сообщений: 192 |
От пользователя нужно команду выполнять. При возникновении ошибки пробовал повторить команду? |
|
Поблагодарили 1 раз
|
evil |
Сообщение
|
Стаж: 10 лет Сообщений: 1503 Меценат |
не обез. от пользователя. пробуй через анонима. |
|
Поблагодарили 1 раз
|
MiXa |
Сообщение
|
Стаж: 9 лет Сообщений: 415 |
FakePlayer, спасибо, качает, а я из под рута все делал ну что сделаешь, новичок все таки в линуксе) снова ошибка: Код Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent [email protected]:~/steamcmd$ ./steamcmd.sh Steam>login anonymous Connecting anonymously to Steam Public…Logged in OK Steam>app_update «90 -beta beta» validate Steam> запустил заново и идет закачка Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери Моди Плагіни Модулі |
|
|
evil |
Сообщение
|
Стаж: 10 лет Сообщений: 1503 Меценат |
без «» |
|
Поблагодарили 1 раз
|
FakePlayer |
Сообщение
|
Стаж: 8 лет 8 месяцев Сообщений: 192 |
Цитата(MiXa @ 24.1.2015, 21:07) FakePlayer, спасибо, качает, а я из под рута все делал ну что сделаешь, новичок все таки в линуксе) снова ошибка: Код Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent [email protected]:~/steamcmd$ ./steamcmd.sh Steam>login anonymous Connecting anonymously to Steam Public…Logged in OK Steam>app_update «90 -beta beta» validate Steam> запустил заново и идет закачка Да так в последнее время и есть. Повторяй команду пока не докачает. |
|
Поблагодарили 1 раз
|
evil |
Сообщение
|
Стаж: 10 лет Сообщений: 1503 Меценат |
будет работать хоть сто раз рапускай установку, оно просто будет докачивать. |
|
Поблагодарили 1 раз
|
MiXa |
Сообщение
|
Стаж: 9 лет Сообщений: 415 |
на 99,89% ошибка Error! App ’90’ state is 0x6 after update job. ахахах, обожаю линукс и такие моменты))))) запустил заново, еще грузится Отредактировал: MiXa, — 24.1.2015, 16:12 Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери Моди Плагіни Модулі |
|
|
XakepSDK |
Сообщение
|
Стаж: 8 лет 3 месяца Сообщений: 60 |
Цитата(MiXa @ 24.1.2015, 20:00) на 99,89% ошибка Error! App ’90’ state is 0x6 after update job. ахахах, обожаю линукс и такие моменты))))) запустил заново, еще грузится Это не в linux проблема, а в быдлокодерах valve. Сделали сырой софт и забили. |
|
Поблагодарили 1 раз
|
onotole |
Сообщение
|
Стаж: 10 лет Сообщений: 1570 Меценат |
app_update 90 -beta beta validate |
|
|
MiXa |
Сообщение
|
Стаж: 9 лет Сообщений: 415 |
onotole, спасибо,я понял ))) тема уже решена) Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери Моди Плагіни Модулі |
|
|
0 пользователей и 3 гостей читают эту тему:
SteamCMD can sometimes output errors when something goes wrong. Sadly Valve has never released an official list of what the error messages mean. Because of this, a lot of guesswork has been needed to figure it out. This page will highlight what we already know and info on researching what the error might mean in the hope that you can contribute to understanding SteamCMD errors.
SteamCMD uses hexadecimal numbers to give its current «state». Every time SteamCMD does something it changes its state. When SteamCMD fails it will output its has hexadecimal state, for example 0x202
.
Seems to affect HLDS based servers. Running again often fixes the issue
Error! App ’90’ state is 0x10E after update job.
Error! App ’90’ state is 0x10E after update job. |
|
Error! App ‘<appid_number>’ state is 0x202 after update job.
Unknown error, if you have any details please let us know
Error! App ‘<appid_number>’ state is 0x206 after update job.
Missing content_log.txt if you have experienced this error and have a log please let us know.
Error! App ‘<appid_number>’ state is 0x212 after update job.
Connection issue with steam, you will need to wait for the steam servers to recover.
Error! State is 0x402 after update job.
Missing content_log.txt if you have experienced this error and have a log please let us know.
Unknown error, if you have any details please let us know
Error! State is 0x602 after update job.
Missing content_log.txt if you have experienced this error and have a log please let us know.
SteamCMD is unable to write to the disk. Normally caused by permissions issues. This issue was discovered when a directory that was linked using symlink did not have the correct permissions to allow SteamCMD to write to it.
Error! App ‘<appid_number>’ state is 0x606 after update job.
Error! App ‘<appid_number>’ state is is 0x2 after update job.
Missing content_log.txt if you have it please let us know.
No connection to content servers.
Error! App ‘<appid_number>’ state is 0x6 after update job.
No connection to content servers |
|
Received 401 (Unauthorized) HTTP response for depot 11 |
|
content_log_0x6-2.txt
52KB
Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
Update state (0x5) validating, progress: 13.48 (1554089956 / 11530459441)
Update state (0x11) preallocating, progress: 8.53 (983870089 / 11530459441)
Update state (0x61) downloading, progress: 1.11 (127644881 / 11530459441)
Update state (0x101) committing, progress: 3.43 (395043827 / 11530459441)
To get more info and output see the SteamCMD logs in ~/.local/share/Steam/logs
or ~/.steam/logs
. The most useful log is content_log.txt
that will provide more information on errors.
If you have experienced an error we don’t have logs for please provide them to us to assist in diagnosing the issue.
SteamCMD uses hex error codes such as 0x202
which can be converted into decimal 514
. You can use a hex-to-decimal converter to do this. Using the table below you can work out the status messages. By doing a calculation. Find the highest number below the state 512
which is the first error. Then take the number away from the total 514-512=2
which gives you the last error. This can be done for any error
512 StateUpdateRunning
, 2 StateUpdateRequired
StateInvalid |
0 |
StateUninstalled |
1 |
StateUpdateRequired |
2 |
StateFullyInstalled |
4 |
StateEncrypted |
8 |
StateLocked |
16 |
StateFilesMissing |
32 |
StateAppRunning |
64 |
StateFilesCorrupt |
128 |
StateUpdateRunning |
256 |
StateUpdateRunning |
512 |
StateUpdateStarted |
1024 |
StateUninstalling |
2048 |
StateBackupRunning |
4096 |
StateReconfiguring |
65536 |
StateValidating |
131072 |
StateAddingFiles |
262144 |
StatePreallocating |
524288 |
StateDownloading |
1048576 |
StateStaging |
2097152 |
StateCommitting |
4194304 |
StateUpdateStopping |
8388608 |
This table is from 2015 and is probably outdated now but it’s the best we currently have.
ulimit SteamCMD startup error
ulimit SteamCMD startup error
./steamcmd.sh: line 17: ulimit: open files: cannot modify limit: Operation not permitted
Some users may get a ulimit error (no permission/cannot open file) while SteamCMD is starting up. This error caused by a low setting of the -n parameter (number of file descriptors) of ulimit. Some servers forbid increasing ulimit values after startup (or beyond a limit set by root). This can be fixed by changing the file descriptor number ulimit:
ERROR! Failed to install app ‘<appid_number>’ (No subscription)
ERROR! Failed to install app ‘<appid_number>’ (No subscription)
The Steam account being used does not have a license for the required game.
ERROR! Password check for AppId <appid_number> returned error Failure.
ERROR! Password check for AppId <appid_number> returned error Failure.
The password for the branch is incorrect.
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Ignore the error, do not do anything to attempt to fix it. It is a known error that has appeared ever since SteamPipe was introduced. It does not cause any issues and can be ignored.
Loading Steam API…Failed to init SDL priority manager: SDL not found
Loading Steam API…Failed to init SDL priority manager: SDL not found
Ignore the error, do not do anything to attempt to fix it. It does not cause any issues and can be ignored.
CWorkThreadPool::~CWorkThreadPool: work processing queue not empty: 2 items discarded.
CWorkThreadPool::~CWorkThreadPool: work processing queue not empty: 2 items discarded.
Ignore the error, do not do anything to attempt to fix it. It does not cause any issues and can be ignored.
Failed to set thread priority: per-thread setup failed
Failed to set thread priority: per-thread setup failed
Ignore the error, do not do anything to attempt to fix it. It does not cause any issues and can be ignored.
-
-
#1
День добрый,
сразу уточню что в CS я играл очень давно и в этой тематике являюсь новичком(могу сильно путаться в конфиг файлах/модах/адонах итд)
Вопрос номер один
хочу установить на свой простенький VPS CS 1.6 с ботами.
На данном этапе у меня работает другой образ но без ботов.
Для этого нашел данный репозиторий:
Код:
1. git clone https://github.com/jimtouz/counter-strike-docker.git -b add_bot_support
2. docker build -t cs16ds/server .[
В процессе сборке данного docker образа постоянно получаю ошибку:
Код:
Error! App '90' state is 0x10E after update job. The command '/bin/sh -c /opt/steam/steamcmd.sh +login $steam_user $steam_password +force_install_dir /opt/hlds +app_update 90 validate +quit' returned a non-zero code: 8
Об ошибке:
Скрипт установки сервера ‘дергает’ бинарник /opt/hlds/hlds_run с переданными мною аргументами для запуска cs сервера.
Аргументы вроде передаются все валидные, в самом Dockerfile автор заботливо даже оставил ссылку на форум с возможными решениями данной проблемы, почитав я понял что решение сводится к замене на сервере неких файлов манифестов, что мною было сделано(надеюсь правильно, на форуме есть список необходимых команд) тоже но не принесло результата.
Вопрос номер два:
Как писал выше на текущий момент использую другой docker образ, но как это не смешно(для более опытных форумчан) не знаю как проверить что мой заданный при запуске пароль(для администрирования) ‘rcon’ подошел? Т.е после подключения к серверу в консоле я ввожу:
Код:
rcon_password мой пароль
пробовал даже(хотя пароль состоит только из цифр)
rcon_password "мой пароль"
В ответ я не получаю абсолютно ничего…
Ввожу rcon status, в надежде посмотреть какие права я имею, что должно сигнализировать что я залогинился как админ?
Код:
hostname: _SERVER
version : 48/1.1.2.7/Stdio 7559 secure (10)
tcp/ip : IP:27015
map : de_dust2 at: 0 x, 0 y, 0 z
players : 1 active (12 max)
# name userid uniqueid frag time ping loss adr
# 1 "Test" 1 STEAM_0:0:18209555 0 11:37 105 0 IP:27005
1 use
Но тоже ничего интересного не вижу, ниже кину конфиги сервера, если нужно будет предоставить вывод каких то команд, логов то постараюсь это сделать оперативно:
Код:
[email protected]:/opt/hlds# cat ./cstrike/addons/amxmodx/configs/amxx.cfg
// AMX Mod X Configuration File
echo Executing AMX Mod X Configuration File
// Default access for all non admin players (see users.ini for access details)
//
// Default value: "z"
amx_default_access "z"
// Name of setinfo which should store a password on a client (you should change this)
// Note: Always prefix the field with an underscore (aka: "_")
// (Example: setinfo _pw "password")
//
// Default value: "_pw"
amx_password_field "_pw"
// Mode of logging to a server
// 0 - disable logging, players won't be checked (and access won't be set)
// 1 - normal mode which obey flags set in accounts
// 2 - kick all players not on list
//
// Default value: 1
amx_mode 1
// Show admins activity
// 0 - disabled
// 1 - show without admin name
// 2 - show with name
//
// Default value: 2
amx_show_activity 2
// Frequency in seconds and text of scrolling message
//
// Default value: "Welcome to %hostname% -- This server is using AMX Mod X" 600
amx_scrollmsg "Welcome to %hostname% -- This server is using AMX Mod X" 600
// Center typed colored messages (last parameter is a color in RRRGGGBBB format)
//
// Default values: "Welcome to %hostname%" "000255100"
// "This server is using AMX ModXnVisit http://www.amxmodx.org" "000100255"
amx_imessage "Welcome to %hostname%" "000255100"
amx_imessage "This server is using AMX Mod XnVisit http://www.amxmodx.org" "000100255"
// Frequency in seconds of colored messages
//
// Default value: 180
amx_freq_imessage 180
// Ban times for the main ban menu (amx_banmenu)
// Use 0 for permanent ban
// Default values: 0 5 10 15 30 45 60
amx_plmenu_bantimes 0 5 10 15 30 45 60
// Slap damage amounts for the main slap menu (amx_slapmenu)
// Slay is automaticall inserted as the first option
// Default values: 0 1 5
amx_plmenu_slapdmg 0 1 5
// Set in seconds how fast players can chat (chat-flood protection)
//
// Default value: 0.75
amx_flood_time 0.75
// Amount of slots to reserve.
//
// Default value: 0
amx_reservation 0
// If you set this to 1, you can hide slots on your server.
// If server "full" of public slots and slots hidden, you must manually connect with connect console command
//
// Default value: 0
amx_hideslots 0
// Displaying of time remaining
// a - display white text on bottom
// b - use voice
// c - don't add "remaining" (only in voice)
// d - don't add "hours/minutes/seconds" (only in voice)
// e - show/speak if current time is less than this set in parameter
//
// Default value: "ab 1200" "ab 600" "ab 300" "ab 180" "ab 60" "bcde 11"
amx_time_display "ab 1200" "ab 600" "ab 300" "ab 180" "ab 60" "bcde 11"
// Announce "say thetime" and "say timeleft" with voice, set to 0 to disable.
//
// Default value: 1
amx_time_voice 1
// Minimum delay in seconds between two voting sessions
//
// Default value: 10
amx_vote_delay 10
// How long voting session goes on
//
// Default value: 10
amx_vote_time 10
// Display who votes for what option, set to 0 to disable, 1 to enable.
//
// Default value: 1
amx_vote_answers 1
// Some ratios for voting success
// Default value: 0.40
amx_votekick_ratio 0.40
// Default value: 0.40
amx_voteban_ratio 0.40
// Default value: 0.40
amx_votemap_ratio 0.40
// Default value: 0.02
amx_vote_ratio 0.02
// Max. time to which map can be extended
//
// Default value: 90
amx_extendmap_max 90
// Step for each extending
//
// Default value: 15
amx_extendmap_step 15
// If you set this to 0, clients cannot chose their language, instead they use
// whatever language the server is configured to use.
//
// Default value: 1
amx_client_languages 1
// Plugin Debug mode
// 0 - No debugging (garbage line numbers)
// 1 - Plugins with "debug" option in plugins.ini are put into debug mode
// 2 - All plugins are put in debug mode
// Note - debug mode will affect JIT performance
//
// Default value: 1
amx_debug 1
// Plugin MultiLingual Debug
// To debug a language put its 2 letter code between quotes ("en", "de", etc)
// "" means disabled
//
// Default value: ""
amx_mldebug ""
//
// Beginning of Counter-Strike package specific configurations.
//
// Rank mode
// 0 - by nick
// 1 - by authid
// 2 - by ip
//
// Default value: 1
csstats_rank 1
// Max size of the stats file
//
// Default value: 3500
csstats_maxsize 3500
// Whether or not to rank bots with csstats - set to 1 to rank bots, 0 otherwise.
//
// Default value: 0
csstats_rankbots 0
// Duration of HUD-statistics
//
// Default value: 12.0
amx_statsx_duration 12.0
// HUD-statistics display limit relative round freeze end
// Negative time will clear the HUD-statstics before the round freeze time has ended
//
// Default value: -2.0
amx_statsx_freeze -2.0
Код:
#hostname "NAMEYOURSERVER"
#sv_name "NAMESERVER"
#sv_password "SERVERPASSWORD"
#rcon_password "YOURRCON"
maxplayers "32"
mp_autocrosshair "0"
mp_autokick "0"
mp_autoteambalance "0"
mp_buytime "0.25"
mp_c4timer "35"
mp_chattime "5"
mp_consistency "1"
mp_decals "300"
mp_fadetoblack "0"
mp_flashlight "1"
mp_footsteps "1"
mp_forcecamera "2"
mp_forcechasecam "2"
mp_freezetime "3"
mp_friendlyfire "1"
mp_hostagepenalty "0"
mp_kickpercent "1"
mp_limitteams "0"
mp_logdetail "3"
mp_logecho "1"
mp_logfile "1"
mp_logmessages "1"
mp_mapvoteratio "1"
mp_maxrounds "0"
mp_playerid "1"
mp_roundtime "1.75"
mp_startmoney "800"
mp_timelimit "0"
mp_tkpunish "0"
mp_winlimit "0"
allow_spectators "1"
decalfrequency "60"
edgefriction "2"
host_framerate "0"
log on
pausable "1"
pingboost "3"
sys_ticrate "400"
ex_interp "0.01"
sv_accelerate "5"
sv_aim "0"
sv_airaccelerate "10"
sv_airmove "1"
sv_allowdownload "1"
sv_allowupload "0"
sv_alltalk "0"
sv_cheats "0"
sv_clienttrace "1"
sv_clipmode "0"
sv_friction "4"
sv_gravity "800"
sv_maxrate "25000"
sv_minrate "2500"
sv_maxupdaterate "101"
sv_minupdaterate "20"
sv_maxspeed "320"
sv_maxunlag "0.5"
sv_proxies "2"
sv_restartround "0"
sv_send_logos "0"
sv_send_resources "1"
sv_stepsize "18"
sv_stopspeed "75"
sv_timeout "65"
sv_voiceenable "1"
sv_wateraccelerate "10"
sv_wateramp "0"
sv_waterfriction "1"
sv_unlag "1"
sv_unlagsamples "1"
Код:
[email protected]:/opt/hlds# cat ./cstrike/config.cfg
// This file is overwritten whenever you change your user settings in the game.
// Add custom configurations to the file "userconfig.cfg".
unbindall
bind "TAB" "+showscores"
bind "ENTER" "+attack"
bind "ESCAPE" "cancelselect"
bind "SPACE" "+jump"
bind "'" "+moveup"
bind "+" "sizeup"
bind "," "buyammo1"
bind "-" "sizedown"
bind "." "buyammo2"
bind "/" "+movedown"
bind "0" "slot10"
bind "1" "slot1"
bind "2" "slot2"
bind "3" "slot3"
bind "4" "slot4"
bind "5" "slot5"
bind "6" "slot6"
bind "7" "slot7"
bind "8" "slot8"
bind "9" "slot9"
bind ";" "+mlook"
bind "=" "sizeup"
bind "[" "invprev"
bind "]" "invnext"
bind "`" "toggleconsole"
bind "a" "+moveleft"
bind "b" "buy"
bind "c" "radio3"
bind "d" "+moveright"
bind "e" "+use"
bind "f" "impulse 100"
bind "g" "drop"
bind "h" "+commandmenu"
bind "i" "showbriefing"
bind "k" "+voicerecord"
bind "m" "chooseteam"
bind "n" "nightvision"
bind "o" "buyequip"
bind "q" "lastinv"
bind "r" "+reload"
bind "s" "+back"
bind "t" "impulse 201"
bind "u" "messagemode2"
bind "w" "+forward"
bind "x" "radio2"
bind "y" "messagemode"
bind "z" "radio1"
bind "~" "toggleconsole"
bind "UPARROW" "+forward"
bind "DOWNARROW" "+back"
bind "LEFTARROW" "+left"
bind "RIGHTARROW" "+right"
bind "ALT" "+strafe"
bind "CTRL" "+duck"
bind "SHIFT" "+speed"
bind "F1" "autobuy"
bind "F2" "rebuy"
bind "F5" "snapshot"
bind "F10" "quit prompt"
bind "INS" "+klook"
bind "PGDN" "+lookdown"
bind "PGUP" "+lookup"
bind "END" "force_centerview"
bind "MWHEELDOWN" "invnext"
bind "MWHEELUP" "invprev"
bind "MOUSE1" "+attack"
bind "MOUSE2" "+attack2"
bind "PAUSE" "pause"
_cl_autowepswitch "1"
_snd_mixahead "0.1"
ati_npatch "1.0"
bgmvolume "1.000000"
bottomcolor "6"
brightness "1.000000"
cl_allowdownload "1"
cl_allowupload "1"
cl_backspeed "400"
cl_cmdbackup "2"
cl_cmdrate "60"
cl_corpsestay "600.000000"
cl_crosshair_color "50 250 50"
cl_crosshair_size "auto"
cl_crosshair_translucent "1"
cl_dlmax "512"
cl_download_ingame "1"
cl_dynamiccrosshair "1"
cl_forwardspeed "400"
cl_himodels "0"
cl_idealpitchscale "0.8"
cl_lc "1"
cl_logocolor "#Valve_Orange"
cl_logofile "lambda"
cl_lw "1"
cl_min_ct "2"
cl_min_t "1"
cl_minmodels "0"
cl_mousegrab "1"
cl_radartype "0"
cl_righthand "1"
cl_shadows "1"
cl_sidespeed "400"
cl_updaterate "60"
cl_vsmoothing "0.05"
cl_weather "1"
con_color "255 180 30"
console "1.000000"
crosshair "1.000000"
fastsprites "0"
fps_max "100.0"
gamma "2.500000"
gl_dither "1"
gl_flipmatrix "0"
gl_fog "1"
gl_monolights "0"
gl_overbright "0"
gl_polyoffset "4"
gl_vsync "1"
hisound "1"
hpk_maxsize "4"
hud_capturemouse "1"
hud_centerid "0"
hud_draw "1"
hud_fastswitch "0"
hud_saytext_internal "1"
hud_takesshots "0"
joystick "0"
lookspring "0.000000"
lookstrafe "0.000000"
m_customaccel "0"
m_customaccel_exponent "1"
m_customaccel_max "0"
m_customaccel_scale "0.04"
m_filter "0"
m_forward "1"
m_mousethread_sleep "10"
m_pitch "0.022000"
m_rawinput "0"
m_side "0.8"
m_yaw "0.022"
model "gordon"
MP3FadeTime "2.0"
MP3Volume "0.800000"
mp_decals "300.000000"
name "Player"
net_graph "0"
net_graphpos "1"
net_scale "5"
r_detailtextures "0"
sensitivity "3.000000"
skin ""
spec_autodirector_internal "1"
spec_drawcone_internal "1"
spec_drawnames_internal "1"
spec_drawstatus_internal "1"
spec_mode_internal "1"
spec_pip "0"
suitvolume "0.250000"
sv_aim "1"
sv_voiceenable "1"
team ""
topcolor "30"
viewsize "120.000000"
voice_enable "1"
voice_forcemicrecord "1"
voice_modenable "1"
voice_scale "0.750000"
volume "0.800000"
setinfo "_vgui_menus" "1"
setinfo "_ah" "1"
+mlook
+jlook
exec userconfig.cfg
PS: Извиняюсь, долго писал/модифицировал и исчерпал 10 минут, для того что бы отредактировать свое сообщение, прошу по возможности удалить администрацию мое первое сообщение.
Последнее редактирование модератором: 30 Ноя 2021
-
-
#2
Error! App ’90’ state is 0x10E after update job.
Попробуйте вызвать скачивание через SteamCMD повторно. Я не пользовался Docker’om, но пользуюсь LGSM, и в нём, при установке сервера каждый раз получаю точно такую же ошибку. Благо скрипт запускает скачивание заново автоматически.
Т.е после подключения к серверу в консоле я ввожу
В консоли клиента, правильно? Тогда ответа и не будет. Можете ввести любую команду, что вы ниже и сделали.
Если бы пароль был неправильным, то здесь уже было бы соответствующее уведомление.
что должно сигнализировать что я залогинился как админ?
Определённые строки в консоли сервера.
Вообще, вы установили AmxModX? Без него и администраторов-то никаких не будет, сервером можно будет управлять только через rcon или консоль сервера
-
-
#3
Covid2021, в этом репо я не нашел ссидки на форум. Но сразу скажу, что запускать хлдс в докере тот еще квест. Я пытался сделать идеальный жокерфайл раз 10. Все время что то не работало так, как мне этого хотелось. Исходя из этого задам 2 вопроса:
1. Вам точно нужно в докере запускать? Инструкций по обычному запуску пруд пруди. А с жокером комьюнити по большей части не знакомо.
2. Вам точно нужен сервер хлдс в 2021-ом году?
Последнее редактирование: 1 Дек 2021
-
-
#4
1. steamcmd иногда не с первого раза загружает все файлы
2. rcon_password в server.cfg точно задан?
-
-
#5
Covid2021, в этом репо я не нашел ссидки на форум. Но сразу скажу, что запускать хлдс в докере тот еще квест. Я пытался сделать идеальный жокерфайл раз 10. Все время что то не работало так, как мне этого хотелось. Исходя из этого задам 2 вопроса:
1. Вам точно нужно в докере запускать? Инструкций по обычному запуску пруд пруди. А с жокером комьюнити по большей части не знакомо.
2. Вам точно нужен сервер хлдс в 2021-ом году?
У меня просто вся архитектура моего сервера построена на docker-e, собственно и опыт уже есть небольшой как это все администрировать.
1. steamcmd иногда не с первого раза загружает все файлы
2. rcon_password в server.cfg точно задан?
Тоже пришел к такому выводу, + об этой баге уже им много раз напоминали, сейчас разбираюсь как мне стать ‘администратором’ на своих серверах
Попробуйте вызвать скачивание через SteamCMD повторно. Я не пользовался Docker’om, но пользуюсь LGSM, и в нём, при установке сервера каждый раз получаю точно такую же ошибку. Благо скрипт запускает скачивание заново автоматически.
Именно примерно так и сделал, данную проблему уже решил.
клиента, правильно? Тогда ответа и не будет. Можете ввести любую команду, что вы ниже и сделали.
Да, в консоли. Amxmod установлен и прописан в plugins.ini я кидал выше его конфиг.
Intro
Hey!
In this series of tutorials we will cover how to set up a dedicated Counter-Strike 1.6 server so can customize it as you want and play with your friends. For that purpose I would suggest to rent a VPS running Ubuntu OS. We’ll use Linux Game Server Managers utility to make server setting up process easier (I tried to use SteamCMD directly to create a dedicated server but it was a pain), it would also send us alerts to Email, Discord, Slack, Telegram etc.
The server I rent for this tutorial series has the following configuration:
- 1 CPU Core, 3.0 MHz
- 2 GB RAM
- 20 GB SSD
- Ubuntu 20.04 LTS
Such VPS is quiet cheap and powerful enough to manage up to 24 simultaneous players for sure. I used VPS with the same config to play with my friends and CPU usage was about 7-10% for 6 players and only few tiny plugins.
My PC config is not important so let’s just mention that it’s running Windows.
Let’s get it started
Once you decided which VPS to rent and have it running, connect to it via ssh
or in any other way that will let you access server’s terminal. First of all, we have to install all the dependencies required for our Counter-Strike server.
Here is the command to install dependencies on Ubuntu 20.04 or older:
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat lib32gcc1 lib32stdc++6 libsdl2-2.0-0:i386 steamcmd
Enter fullscreen mode
Exit fullscreen mode
This will also install SteamCMD so you will be asked to agree with Steam License Agreement.
If your server is running on Debian/CentOS or if your Ubuntu version is => 20.10 navigate to
Dependencies
tab on this page to find appropriate dependencies instllation command.
For security reason it’s not recommended to run game server on the root user so let’s create a new one for that purpose and switch to it:
adduser csserver
Enter fullscreen mode
Exit fullscreen mode
su - csserver
Enter fullscreen mode
Exit fullscreen mode
Now we have to download linuxgsm.sh
and run it to be able to install our game server:
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
Enter fullscreen mode
Exit fullscreen mode
If download link doesn’t work for you, it might be changed. Look for the possibly updated one by navigating to
Install
tab on this page.
Game server installation
To install game server type:
./csserver install
Enter fullscreen mode
Exit fullscreen mode
It might take some time to install, just wait for it to finish. Also You’ll be asked multiple times to confirm some staff like server installation directory and to agree/disagree with anonymous statistics gathering. Read carefully what you’re asked for!
It’s a common thing for SteamCMD to fail when downlading game server for the first time:
Error! App '90' state is 0xE after update job.
Error! Installing csserver: SteamCMD: Unknown error occured
Enter fullscreen mode
Exit fullscreen mode
Don’t be so quick to throw your keyboard to the window, just wait for the next try,
linuxgsm.sh
script will manage it for you.
In logs under yellow «Config File Locations» title you’ll find a useful information about configs files paths:
Game Server Config File: /home/csserver/serverfiles/cstrike/csserver.cfg
LinuxGSM Config: /home/csserver/lgsm/config-lgsm/csserver
Enter fullscreen mode
Exit fullscreen mode
Server Configuration
We’re done with installation at this point, but don’t rush to start the game server. We have to set server ip and tweak some launch parameters.
LinuxGSM configs for our game server instllation are located in /home/csserver/lgsm/config-lgsm/csserver
catalogue. Navigate to it via console or use any FTP/SFTP client your’re comfortable to work with. You’ll see a banch of files here:
_default.cfg
common.cfg
csserver.cfg
secrets-common.cfg
secrets-csserver.cfg
Enter fullscreen mode
Exit fullscreen mode
Descriptive information about these configs can be found on [this page(https://docs.linuxgsm.com/configuration/linuxgsm-config). I highly recommend checking it out. Btw, it is possible to run multiple game servers on the same machine. For that, different approaches can be used:
- multiple instances for the single game server installation
- multiple game server installations, each for separate user (i.e single instance per installation)
For instruction regarding multiple game servers settings navigate here.
In this article we discuss only single server instance per installation. So here is the brief explanation of config files we’re interested in.
_default.cfg
— some sort of master config, all of its parameters will be applied to game servers related to the current installation. No sense to change cuz it will be reset after LinuxGSM update. So put all of your settings to the next two configs.
common.cfg
— here you can set parameters that are common for all of game server instances related to the current installation. It will override _default.cfg
.
csserver.cfg
— parameters for the csserver
instance of game server. This one will override _default.cfg
and common.cfg
.
What we gonna do is to copy parameters from the master (_default.cfg
) config to our instance config csserver.cfg
.
First one is ip="0.0.0.0"
line. Put it to csserver.cfg
and set ip
parameter value to IP address of your server (keep quotes).
Most probably you’ll want to change default map and max players count for you server, copy these parameters too, keep default values for now.
defaultmap="de_dust2"
maxplayers="16"
Enter fullscreen mode
Exit fullscreen mode
The last but not least parameter is startparameters
. We’ll keep its value but add few more start parameters to the end:
-
+pingboost 2
— «Selects between optimized HLDS network code stack. Set this on 2 usually reduces latency toward 1ms without loss of activity input packets» (docs). -
+sys_ticrate 1000
— this is something like FPS on the server side. 1000 is default value and usually no need to change it to higher values.
So the resulting value of startparameters
is:
startparameters="-game cstrike -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers} +pingboost 2 +sys_ticrate 1000"
Enter fullscreen mode
Exit fullscreen mode
And the final look of our csserver.cfg
should be like:
##################################
####### Instance Settings ########
##################################
# PLACE INSTANCE SETTINGS HERE
## These settings will apply to a specific instance.
## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters
ip="<YOUR SERVER IP>"
defaultmap="de_dust2"
maxplayers="16"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-game cstrike -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers} +pingboost 2 +sys_ticrate 1000"
Enter fullscreen mode
Exit fullscreen mode
Testing the server
So our server is ready to be started. One more thing we’re gonna add is change its display name (i.e. host name) in Servers window inside the game. For that navigate to the game server config file (we saw its path before, after game server was installed) — /home/csserver/serverfiles/cstrike/csserver.cfg
This is the config file you’ll have to change to set your game server variables, not
server.cfg
!
Here you’ll find hostname "LinuxGSM"
on the first two lines. Let’s change it to "DEV.TO Test Server"
.
Note that there is no
=
character between variable name and its value (in quotes for strings).
Save your changes and go back to the terminal. Navigate to your server root directory /home/csserver
and start the server:
./csserver start
Enter fullscreen mode
Exit fullscreen mode
You’ll see something like:
[ OK ] Starting csserver: Applying steamclient.so sdk64 hardlink fix: Counter-Strike 1.6
[ OK ] Starting csserver: Applying steamclient.so sdk32 link fix: Counter-Strike 1.6
[ OK ] Starting csserver: DEV.TO Test Server
Enter fullscreen mode
Exit fullscreen mode
Now open the game and add connect to it via Servers menu or use connect <YOUR SERVER IP>
command in game console.
If you don’t see your server there might be some error occurred, go back to your server terminal and open game server logs:
./csserver console
Enter fullscreen mode
Exit fullscreen mode
or
./csserver c
Enter fullscreen mode
Exit fullscreen mode
When in game server logging «mode», dont’t press
Ctrl+C
to exit (this command will stop your server!). UseCtrl+B
, thenD
insted.
So this is it. It takes almost no time to set up your own dedicated server for Counter-Strike 1.6. The most time consuming stuff is setting up AMXX and plugins (if you want any) which will be covered in the next tutorial (Part 2).
Thanks to everyone for reading. Have a good game!
Bonus
Details
Use the following command to see a nicely formatted details of your game server:
./csserver details
Enter fullscreen mode
Exit fullscreen mode
Rates
Most probaly you’ll want to tweak your server rates variables (add them to csserver.cfg
) for more comfortable playing:
sv_maxrate
sv_minrate
sv_maxupdaterate
sv_minupdaterate
Enter fullscreen mode
Exit fullscreen mode
Hopefully these two articles ([1], [2]) will help you to find the best values for your server.
More detailed logs
If you want to see players messages in server logs, add mp_logmessages 1
to csserver.cfg
.
If you want to see combat logs, add mp_logdetail
variable to your config. Possible values:
-
0
— Turn attack logging off. -
1
— Only enemy combat damage. -
2
— Only friendly combat damage. -
3
— All forms of combat damage (both friendly and enemy).
Map cycle
To tweak map cycle on your game server, change /home/csserver/serverfiles/cstrike/mapcycle.txt
file.
Is anyone else having problems with updating HLDS for new Counter-Strike update?
So I’m getting this return for «version» command:
PHP Code:
Protocol version 48
Exe version 1.1.2.7 (cstrike)
Exe build: 09:09:25 Jul 7 2017 (7561)
after running this script:
PHP Code:
login anonymous
force_install_dir .InstalledHalf-Life
app_update 90 validate
exit
PHP Code:
[ 0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation
-- type 'quit' to exit --
Loading Steam API...OK.
Connecting anonymously to Steam Public...Logged in OK
Waiting for user info...OK
force_install_dir .InstalledHalf-Life
app_update 90 validate
Update state (0x5) validating, progress: 0.00 (0 / 39011709)
Success! App '90' fully installed.
So how to get this new update that valve made?
// EDIT:
After full trying to install hlds into different location, this is what I get:
PHP Code:
Steam>login anonymous
Connecting anonymously to Steam
Public...Logged in OK
Waiting for user info...OK
Steam
>force_install_dir .InstalledHalf-Life_
Steam>app_update 90 validate
Update state (0x5) validating, progress: 0.00 (0 / 0)
Update state (0x61) downloading, progress: 10.29 (4824861 / 46903677)
Update state (0x61) downloading, progress: 27.21 (12763037 / 46903677)
Update state (0x61) downloading, progress: 88.82 (41660797 / 46903677)
Error! App '90' state is 0x10E after update job.
// Edit2:
After attempting to install in a different directory, the update for first directory worked.
Hi,
Error! App ’90’ state is 0xE after update job.
CWorkThreadPool::~CWorkThreadPool: work processing queue not empty: 2 items discarded.
CWorkThreadPool::~CWorkThreadPool: work processing queue not empty: 3 items discarded.
The command ‘/bin/sh -c /opt/steam/steamcmd.sh +login $steam_user $steam_password +force_install_dir /opt/hlds +app_update 90 validate +quit’ returned a non-zero code: 8
Any idea what’s wrong ?
Как присоедененным к серверу игрокам становиться администраторами?
getting this during update state after logged in to Steam Public Server
Hi, do you plan to add a bots add-on to the server?
Add How-to(s) for different LCM actions:
- adding/removing maps
- changing configs (adding users, modifying setting, etc.)
- hlds update
Currently there is only one option to build an image — HLDS + metamod + amx modx + dproto. It should be possible to build an image with clean server installation and no third-party customization.