Logo

CS.RIN.RU - Steam Underground Community

IRC: #cs.rin.ru at irc.rizon.net
It is currently Friday, 17 Apr 2015, 22:24

English | Русский




Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 75 posts ] 
Author Message

Post Post subject: It's all about to HLDS.   
Posted: Wednesday, 14 Apr 2010, 11:27   
Forum ghost Местное привидение
User avatar
Joined: Tuesday, 09 Dec 2008, 17:46
Posts: 268
This thread made for general discussion of game servers based on HLDS. Post all your questions here, but don't forget to check FAQ first.

FAQ
Q: What the HLDS is?
A: HLDS (Half-Life Dedicated Server) is the server-side of Valve's GoldSource (aka HL1) engine. Their general goals are:
  • Receive datagrams (which contain player's actions) from clients
  • Computation of ingame situation using frame-by-frame method.
  • Send updates of ingame situation for clients so they can display it.

Q: What about internal structure?
A: It's displayed on following schema:
    Image
    HLDS Server itself consists of HLDS engine and GameDLL. HLDS engine is responsible for communication with clients, general physics computaion, etc. GameDLL is a dynamic-loading library which contains code that implements rules of running game ("mod", "modification" in another terminology).

Q: What the gamedir is?
A: gamedir (or game directory) is a directory with unique name where all files (models, sounds, sprites, etc) for some mod are stored. Game directory usually located on in the HLDS root directory. For example, game directory for Counter-Strike is "cstrike".

Q: How to install HLDS on windows?
A: Follow the step-by-step guide below:
  • Download HLDS Update tool for windows from Steam's website.
  • Install it to directory where you want to install HLDS. For example, it's d:\hlds\
  • Go to HLDSUpdateTool installation directory (d:\hlds\) and create shortcut to hldsupdatetool.exe.
  • Right-click to created shortcut => "Shortcut" tab, add "cmd /K " in the "Object" field. On out example, Object field should contain "cmd /K d:\hlds\HldsUpdateTool.exe". (I'm not sure about names of tabs/dialogs because I don't have english version of windows now. If I've written something wrong, please correct me)
  • Close the "Shortcut properties" window and run HldsUpdateTool with created shortcut. You'll see console window with content like that:
    1. Checking bootstrapper version ...
    2. Getting version 38 of Steam HLDS Update Tool
    3. Downloading. . . . . . . . . .
    4. d:\hlds>Checking bootstrapper version ...
    5.  
    6. Use: hldsupdatetool -command <command> [parameters] [flags]
    7.  
    8. Commands:
    9.  
    10.  update: Install or update HLDS
    11. ....
  • As you can see, HldsUpdateTool updated itself and it's ready to download fresh server. Use this command to do it (type it into console window):
    1. hldsupdatetool -command update -game cstrike -dir .
    and hlds will start download server for Counter-Strike. You may also install other game server by changing -game parameter in that command (actually, you should specofy gamedir in this parameter):
    • -game valve - Half-Life 1
    • -game tfc - Team Fortress Classic

Q: I've downloaded fresh server for linux, but it crashes with "Illegal instruction" message.
A: It's because your CPU does not support SSE2 instruction set. To solve this problem, download this downgrade pack and extract it to server root directory. (Just place the hlds_15Jun.tar.bz2 to server root dir and use tar -xf hlds_15Jun.tar.bz2 command to extract it)

Q: Okay, I've installed game server, but only legit clients can connect. How can I crack it?
A: The best cracks for HLDS now are dproto and revEmu (for windows) (for linux)

Q: Players have a lot of choke (according to net_graph 3) while playing on my server.
A: The simpliest and effective solution: set sv_minrate 70000 and sv_lan_rate 70000 in server's config and restart the server.


Last edited by Crock on Wednesday, 14 Apr 2010, 18:40, edited 3 times in total.

Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Wednesday, 14 Apr 2010, 12:17   
Advanced forumer Завсегдатай
User avatar
Joined: Thursday, 25 Mar 2010, 00:44
Posts: 54
Location: Croatia - Rijeka
Is it better to use newest engine possible (4883 atm) or there is some good older version?


Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Wednesday, 14 Apr 2010, 12:45   
Forum ghost Местное привидение
User avatar
Joined: Tuesday, 09 Dec 2008, 17:46
Posts: 268
I know about at least two lacks of steamclient.so comes with 4883:
1) It requires CPU which supports SSE2 instruction set. If you try to run it on old CPU, server will crash with "Illegal instruction" error on load.
2) Broken master-client which sometimes does not register on master servers.

But in 4883 Valve fixed 2 vulerabilies used by hlds_vcrash and hlds_fuck exploits.

So if you don't want to patch server with anything and you have SPU with SSE2, choose 4883. Otherwise, I recommend previous engine (build 4617 dated 15 of July, 2009) with patches to fix vulnerabilities (dproto or HLShield). I'll add downgrade pack later to FAQ.


Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Wednesday, 14 Apr 2010, 16:12   
Advanced forumer Завсегдатай
Joined: Friday, 01 Feb 2008, 05:59
Posts: 194
Nice. Finally someone made a dedicated topic that deals with all HLDS issues :mrgreen:

I've been baffled about the choke issue that seems to plague linux hlds for a while now. It seems to me that it is now almost impossible to play smoothly without getting ton of chokes while in game.

Put server bandwidth and server/client rates stuff aside since in my case, using win32 hlds this chokes thing isn't much a problem at all despite using the same settings from linux hlds. Though I am still getting occasional chokes in win32 hlds but most of time I could say its close to none. :?


Last edited by Maleko on Saturday, 27 Aug 2011, 06:30, edited 2 times in total.

Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Wednesday, 14 Apr 2010, 18:39   
Forum ghost Местное привидение
User avatar
Joined: Tuesday, 09 Dec 2008, 17:46
Posts: 268
Maleko, I've added solution of your problem to FAQ :)

Q: Players have a lot of choke (according to net_graph 3) while playing on my server.
A: The simpliest and effective solution: set sv_minrate 70000 and sv_lan_rate 70000 in server's config and restart the server.


Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Wednesday, 14 Apr 2010, 18:40   
Advanced forumer Завсегдатай
User avatar
Joined: Thursday, 25 Mar 2010, 00:44
Posts: 54
Location: Croatia - Rijeka
Crock wrote:
I know about at least two lacks of steamclient.so comes with 4883:
1) It requires CPU which supports SSE2 instruction set. If you try to run it on old CPU, server will crash with "Illegal instruction" error on load.
2) Broken master-client which sometimes does not register on master servers.

But in 4883 Valve fixed 2 vulerabilies used by hlds_vcrash and hlds_fuck exploits.

So if you don't want to patch server with anything and you have SPU with SSE2, choose 4883. Otherwise, I recommend previous engine (build 4617 dated 15 of July, 2009) with patches to fix vulnerabilities (dproto or HLShield). I'll add downgrade pack later to FAQ.



Does it means it takes more CPU usage then previous version?
I want to get CPU usage less as possible :/

My system specifications
Operating system Redhat Linux Fedora 12
Kernel and CPU Linux 2.6.32.11-99.fc12.x86_64 on x86_64
Processor information Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 4 cores
Running processes 198
CPU load averages 0.00 (1 min) 0.00 (5 mins) 0.00 (15 mins)
CPU usage 20% user, 4% kernel, 0% IO, 76% idle
Real memory 6.83 GB total, 898.42 MB used
Virtual memory 3.94 GB total, 0 bytes used
Local disk space 64.27 GB total, 31.97 GB used


Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Wednesday, 14 Apr 2010, 18:52   
Forum ghost Местное привидение
User avatar
Joined: Tuesday, 09 Dec 2008, 17:46
Posts: 268
Sniperkiki wrote:
Does it means it takes more CPU usage then previous version?
I want to get CPU usage less as possible :/

No, it does not. CPU usage may be significantly reduced if Valve will compile hlds engine with better compiler and move all vector calculations to SSE. But it seems it will never happen because they still use GCC 2.95.3 dated 2001 year (sic!)
CPU usage may be also slightly reduced by setting lower values for sv_maxupdaterate and sys_ticrate cvars.


Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Wednesday, 14 Apr 2010, 18:54   
Advanced forumer Завсегдатай
User avatar
Joined: Thursday, 25 Mar 2010, 00:44
Posts: 54
Location: Croatia - Rijeka
Thanks for such FAST replays! :)

and about my processor, what do you think does it have SSE?


Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Wednesday, 14 Apr 2010, 18:58   
Forum ghost Местное привидение
User avatar
Joined: Tuesday, 09 Dec 2008, 17:46
Posts: 268
Sniperkiki, It does not matter. Valve should modify and recompile HLDS engine to make it use these SSE instructions.


Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Wednesday, 14 Apr 2010, 19:08   
Advanced forumer Завсегдатай
User avatar
Joined: Thursday, 25 Mar 2010, 00:44
Posts: 54
Location: Croatia - Rijeka
I suceed to run that version on all of mine 16 servers without any problems.

anyway thanks for infos you gave ;)


Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Wednesday, 14 Apr 2010, 19:22   
Advanced forumer Завсегдатай
Joined: Friday, 01 Feb 2008, 05:59
Posts: 194
Crock wrote:
The simpliest and effective solution: set sv_minrate 70000 and sv_lan_rate 70000 in server's config and restart the server.


70k? :shock: eh any logical explanation behind this value? Cause I always believe that the valid range for this cvar is < 25k


Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Wednesday, 14 Apr 2010, 20:58   
Forum ghost Местное привидение
User avatar
Joined: Tuesday, 09 Dec 2008, 17:46
Posts: 268
Maleko, explanation is simple - high sv_minrate reduces chance of choke.
With more details: choke appears when server tries to send packet that does not fit into client bandwidth. Setting high minrate will force high minimal bandwith value (70000 bytes per second in our case) for all clients, and chance that large packets won't fit to this bandwidth becomes very low.
Also, if you're good in C/C++, you may take a look to HL2 stealed source code, the networking code there is almost identical to GoldSrc.


Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Wednesday, 14 Apr 2010, 21:47   
Advanced forumer Завсегдатай
User avatar
Joined: Thursday, 25 Mar 2010, 00:44
Posts: 54
Location: Croatia - Rijeka
Hello! I encounterd problem on my GunGame server! :)







WARNING: msg overflowed for Player
SZ_GetSpace: overflow on Client Datagram

version : 48/1.1.2.6/Stdio 4883 secure



"meta list"
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] AMX Mod X RUN - amxmodx_mm_i386. v1.8.1.3 ini Start ANY
[ 2] MySQL RUN - mysql_amxx_i386. v1.8.1.3 pl1 ANY ANY
[ 3] Fun RUN - fun_amxx_i386.so v1.8.1.3 pl1 ANY ANY
[ 4] CStrike RUN - cstrike_amxx_i38 v1.8.1.3 pl1 ANY ANY
[ 5] CSX RUN - csx_amxx_i386.so v1.8.1.3 pl1 ANY ANY
[ 6] FakeMeta RUN - fakemeta_amxx_i3 v1.8.1.3 pl1 ANY ANY
[ 7] Ham Sandwich RUN - hamsandwich_amxx v1.8.1.3 pl1 ANY ANY
[ 8] Engine RUN - engine_amxx_i386 v1.8.1.3 pl1 ANY ANY

(just removed dproto from list I got newest one)



"amx_plugns"
name version author file status
[ 1] AmxBans Admin Base 1.8.1.3746 AMXX Dev Team admin_amxbans_u running
[ 2] AMXBans 5.0 YoMama/Lux & lan amxbans.amxx running
[ 3] Admin Commands 1.8.1.3746 AMXX Dev Team admincmd.amxx running
[ 4] Admin Help 1.8.1.3746 AMXX Dev Team adminhelp.amxx running
[ 5] Slots Reservation 1.8.1.3746 AMXX Dev Team adminslots.amxx running
[ 6] Multi-Lingual System 1.8.1.3746 AMXX Dev Team multilingual.am running
[ 7] Menus Front-End 1.8.1.3746 AMXX Dev Team menufront.amxx running
[ 8] Commands Menu 1.8.1.3746 AMXX Dev Team cmdmenu.amxx running
[ 9] Players Menu 1.8.1.3746 AMXX Dev Team plmenu.amxx running
[ 10] Maps Menu 1.8.1.3746 AMXX Dev Team mapsmenu.amxx running
[ 11] Plugin Menu 1.8.1.3746 AMXX Dev Team pluginmenu.amxx running
[ 12] Anti Flood 1.8.1.3746 AMXX Dev Team antiflood.amxx running
[ 13] Scrolling Message 1.8.1.3746 AMXX Dev Team scrollmsg.amxx running
[ 14] Info. Messages 1.8.1.3746 AMXX Dev Team imessage.amxx running
[ 15] Admin Votes 1.8.1.3746 AMXX Dev Team adminvote.amxx running
[ 16] NextMap 1.8.1.3746 AMXX Dev Team nextmap.amxx running
[ 17] TimeLeft 1.8.1.3746 AMXX Dev Team timeleft.amxx running
[ 18] Pause Plugins 1.8.1.3746 AMXX Dev Team pausecfg.amxx running
[ 19] Stats Configuration 1.8.1.3746 AMXX Dev Team statscfg.amxx running
[ 20] Restrict Weapons 1.8.1.3746 AMXX Dev Team restmenu.amxx running
[ 21] StatsX 1.8.1.3746 AMXX Dev Team statsx.amxx running
[ 22] AMX Super 4.2 Bmann_420 amx_super.amxx running
[ 23] Task Scheduler 0.2 JustinHoMi task_scheduler. running
[ 24] Std Admin Color Chat 1.1.1 Van der Cal kgb_admin_color running
[ 25] Deluxe Admin Chat 1.7 Hell Phoenix/EJL amx_ejl_adminch running
[ 26] Show IP 1.0 $uicid3 show_ip.amxx running
[ 27] Spectator Block 1.0 [AsC]Phil, KRoTa spectate_block. running
[ 28] Easy Command Menu 1.3 Ichy Show! aka. easymenu.amxx running
[ 29] xREDIRECT 1.0.3.2 x0R xredirect.amxx running
[ 30] Admin RestartRound 0.9.2 f117bomb amx_restartroun running
[ 31] Auto Demo Recorder 1.5 IzI amx_demorecorde running
[ 32] Map Spawns Editor 1.0.16 iG_os Map_Spawns_Edit running
[ 33] SVC_BAD fix 1.0 Benny svcbad_fix.amxx running
[ 34] GunGame AMXX 2.12 Avalanche gungame.amxx running
[ 35] Ultimate Gore 1.6 JTP10181 amx_gore_ultima running



startup line
./hlds_run -game cstrike -binary ./hlds_i686 +ip 79.143.173.173 +port 27018 +maxplayers 21 +sys_ticrate 700 +map de_dust2 +servercfgfile server.cfg -nojoy -noipx -zone 2048 -heapsize 300000



What problem could be? Happens 2-3x a day


Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Thursday, 15 Apr 2010, 01:41   
Advanced forumer Завсегдатай
Joined: Thursday, 20 Mar 2008, 12:03
Posts: 113
Location: Łódź, Poland
Quote:
But it seems it will never happen because they still use GCC 2.95.3 dated 2001 year (sic!)
Huh

So we without sources cant do anything? What about decompiling to asm and again compiling? Decompiled code would have "bugs" from old compiler?

Quote:
HL2 stealed source code
Can you point to full package? I saw a few single files, but never package. EDIT: package - > http://rapidshare.com/files/261218273/H ... .info_.rar

Look here -> viewtopic.php?f=15&t=4062&hilit=zbot there are zbots for linux, but... 2693, this might be a first relase for CS 1.6! I dont checked it, but I think differents are huge. So have you any idea to use linux zbots on newest engine ?

EDIT: I looked into newest cs_i386.so and found functions for bots, but there are disabled. Can you look for it to enable bots? ;)
EDIT2: Ohooh fixed by me ;) bots for linux now works.
EDIT3: Sorry, bots are loading etc but commands bot * not works. Any solution ? I saw amxx plugin (with orpheu of course) what enables czero functions, but now files are deleted -> http://forums.alliedmods.net/showthread ... ght=orpheu

_________________
NonSteam CS 1.6 download, download cs 1.6


Top
 Profile  

Post Post subject: Re: It's all about to HLDS.   
Posted: Thursday, 15 Apr 2010, 05:06   
Advanced forumer Завсегдатай
Joined: Thursday, 06 Nov 2008, 03:14
Posts: 73
Crock wrote:
But it seems it will never happen because they still use GCC 2.95.3 dated 2001 year (sic!)


I'm sick just reading this. :ROFL:

Are they serious about this? Why don't they do something better to get some improvement for server hosters?...... so we can use our reduced resource for another HLDSs. -_-

Thanks to Valve for eating 60-80% of my Q9550 for just 100slots of CS1.6 which I can use for 3000-5000 slots of some mmorpg game server.


Top
 Profile  
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 75 posts ]  Go to page 1, 2, 3, 4, 5  Next


Who is online

Users browsing this forum: No registered users and 2 guests


Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum




Powered by phpBB® Forum Software © phpBB Group