View Single Post
El Diablo War3Evo
Veteran Member
Join Date: Jun 2013
Old 05-24-2014 , 17:07   Re: Dota 2 Dedicated Servers
Reply With Quote #77

Code:
steam@atlanta4:~/dota2$ ./startDota.sh 
Auto detecting CPU 
Using default binary: ./srcds_linux 
Server will auto-restart if there is a crash. 
Using breakpad minidump system 
Using breakpad crash handler 
Adding VPK file: /home/steam/dota2/dota/pak01 
Adding VPK file: /home/steam/dota2/platform/pak01 
Did not detect any valid joysticks. 
WARNING: unable to link Test_StartScript and Test_StartScript because one or more is a ConCommand. 
WARNING: unable to link Test_RandomChance and Test_RandomChance because one or more is a ConCommand. 
WARNING: unable to link Test_LoopForNumSeconds and Test_LoopForNumSeconds because one or more is a ConCommand. 
WARNING: unable to link Test_Loop and Test_Loop because one or more is a ConCommand. 
WARNING: unable to link Test_LoopCount and Test_LoopCount because one or more is a ConCommand. 
WARNING: unable to link Test_StartLoop and Test_StartLoop because one or more is a ConCommand. 
WARNING: unable to link log_flags and log_flags because one or more is a ConCommand. 
WARNING: unable to link log_color and log_color because one or more is a ConCommand. 
WARNING: unable to link log_verbosity and log_verbosity because one or more is a ConCommand. 
WARNING: unable to link log_level and log_level because one or more is a ConCommand. 
WARNING: unable to link log_dumpchannels and log_dumpchannels because one or more is a ConCommand. 
 
Console initialized. 
Adding VPK file: /home/steam/dota2/dota/sound_vo_english 
Could not get IReplayDirector interface from library serverGame.dll loaded for "Dota 2" 
ConVarRef dota_tutorial_game doesn't point to an existing ConVar 
Seeded random number generator @ 1078504486 ( 3.136 ) 
Unable to load #included script scripts/talker/response_rules_techies.txt 
(token -1) : Discarded rule because of invalid criterion isallytechies 
(token -1) : Discarded rule because of invalid criterion isallytechies 
(token -1) : Discarded rule because of invalid criterion isenemytechies 
(token -1) : Discarded rule because of invalid criterion isenemytechies 
(token -1) : Discarded rule because of invalid criterion isenemytechies 
(token -1) : Discarded rule because of invalid criterion isenemytechies 
(token -1) : Discarded rule because of invalid criterion isenemytechies 
(token -1) : Discarded rule because of invalid criterion isenemytechies 
(token -1) : Discarded rule because of invalid criterion isallytechies 
(token -1) : Discarded rule because of invalid criterion isenemytechies 
(token -1) : Discarded rule because of invalid criterion isenemytechies 
(token -1) : Discarded rule because of invalid criterion isenemytechies 
(token -1) : Discarded rule because of invalid criterion isenemytechies 
(token -1) : Discarded rule because of invalid criterion isenemytechies 
Unknown command "mat_bloom_scalefactor_scalar" 
Unknown command "mat_grain_enable" 
Unknown command "dota_camera_listening_offset" 
CSoundEmitterSystem:  Registered 1261 sounds 
---- Host_NewGame ---- 
Host_NewGame on map dota 
Executing dedicated server config file 
Set Gravity 800.0 (0.250 tolerance) 
S:Gamerules: entering state 'DOTA_GAMERULES_STATE_INIT' 
Model props_gameplay/antler_trap_01.mdl over budget: 8640 tris, 1 batches 
Model props_gameplay/antler_trap_02.mdl over budget: 8640 tris, 1 batches 
Model props_gameplay/pig_sfm_low.mdl over budget: 5911 tris, 1 batches 
Model creeps/neutral_creeps/n_creep_ogre_lrg/n_creep_ogre_lrg.mdl over budget: 4132 tris, 2 batches 
Invalid file size for motd.txt 
Invalid file size for host.txt 
Created class baseline: 36 classes, 22887 bytes. 
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed. 
/home/steam/dota2/srcds_run: line 356: 11006 Segmentation fault      $HL_CMD 
Add "-debug" to the /home/steam/dota2/srcds_run command line to generate a debug.log to help with solving this problem 
Sat May 24 18:28:50 EDT 2014: Server restart in 10 seconds 
Sat May 24 18:28:54 EDT 2014: Server Quit
I can upload a copy of the "core" if needed.

I'm not sure what is wrong, as this is as far as I can get.


p.s.
Running Debian Wheezy 7.5

My start command:

/home/steam/steam-runtime/run.sh /home/steam/dota2/srcds_run -console -game dota +map dota -maxplayers 10 -ip 107.161.28.137 -port 27015 +exec server.cfg

I have both libc.so.6 and libm.so.6 with latest version next to srcds_linux and srcds_run

server.cfg:
hostname "War3Evo Dota Test Server"
sv_lan "0"
sv_consistency 1
sv_region 0
sv_alltalk 1
sv_tags "W3E,Fun,Dota"

I have the latest d2fixups and metamod and sourcemod snapshots

I read this article so many times and reading it in bits and pieces... and rereading it.




** This fixed the above issue **

I copied this whole directory /home/username/.steam/steam/steam-lib/i386/lib/i386-linux-gnu/ to the dota2 install directory.

The directory has these files and is located /home/steam/dota2 (not /home/steam/dota2/dota)

Code:
570_install.vdf                           libBrokenLocale-2.15.so  libm.so.6              libnss_nisplus-2.15.so  libthread_db.so.1
79fdc20c8431715cb7ddfa58ac5d2f171680a9bd  libBrokenLocale.so.1     libnsl-2.15.so         libnss_nisplus.so.2     libutil-2.15.so
bin                                       libc-2.15.so             libnsl.so.1            libnss_nis.so.2         libutil.so.1
core                                      libcidn-2.15.so          libnss_compat-2.15.so  libpcprofile.so         orangebox
dota                                      libcidn.so.1             libnss_compat.so.2     libpthread-2.15.so      platform
dota_linux                                libcrypt-2.15.so         libnss_dns-2.15.so     libpthread.so.0         screenStartDota.sh
dota.sh                                   libcrypt.so.1            libnss_dns.so.2        libresolv-2.15.so       srcds_linux
EmptySteamDepot                           libc.so.6                libnss_files-2.15.so   libresolv.so.2          srcds_run
ld-2.15.so                                libdl-2.15.so            libnss_files.so.2      librt-2.15.so           startDota.sh
ld-linux.so.2                             libdl.so.2               libnss_hesiod-2.15.so  librt.so.1              steam_appid.txt
libanl-2.15.so                            libm-2.15.so             libnss_hesiod.so.2     libSegFault.so          thirdpartylegalnotices.txt
libanl.so.1                               libmemusage.so           libnss_nis-2.15.so     libthread_db-1.0.so
** Now im having different problems..

type meta list or sm in console and get command unknown..

So, now I search and try and figure out why..

I'm going to try different versions of meta mod, as version mmsource-1.11.0-hg917-linux doesn't even seem to load.


** Current bugs **

Code:
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Installing breakpad exception handler for appid(srcds_linux)/version(1.0_client)
Installing breakpad exception handler for appid(srcds_linux)/version(1.0_client)
Setting breakpad minidump AppID = 570
Forcing breakpad minidump interfaces to load
dlopen failed trying to load:
/home/steam/.steam/sdk32/steamclient.so
with error:
/home/steam/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Installing breakpad exception handler for appid(570)/version(0)
dlopen failed trying to load:
/home/steam/.steam/sdk32/steamclient.so
with error:
/home/steam/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Could not find steamerrorreporter binary. Any minidumps will be uploaded in-processServer is hibernating
FCVAR_CHEAT cvars reverted to defaults.
Installing breakpad exception handler for appid(srcds_linux)/version(1.0_client)
Connection to Steam servers successful, Game Server SteamID [A:1:2417595395:4333] (90090605058298883).
CDOTAGCServerSystem - adding listener
   VAC secure mode is activated.
meta list
Unknown command "meta"
meta
Unknown command "meta"
meta version
Unknown command "meta"
^^ Thought I had metamod installed, after relooking at my TF2 server's installed found I was missing pieces of the software. Since I uploaded the dota2 fixes, I must have saw I had a metamod directory and "assumed" i installed it.. LOL.

Just recently added /home/steam/.steam/sdk32 to our server from my client home directory from /home/username/.steam/sdk32/ seems to fix bug error "dlopen failed trying to load: /home/steam/.steam/sdk32/steamclient.so"

okay..

I guess I had to modifiy the gameinfo.txt in the /home/steam/dota2/dota directory where I found a copy that existed already there.

Code:
"GameInfo" 
{ 
    game    "DOTA 2" 
    gamelogo 1 
    type multiplayer_only 
    nomodels 1 
    nohimodel 1 
    nocrosshair 0 
    GameData        "dota.fgd" 
    SupportsDX8 0 
 
 
    FileSystem 
    { 
        SteamAppId                816        // This will mount all the GCFs we need (240=CS:S, 220=HL2). 
        ToolsAppId                211        // Tools will load this (ie: source SDK caches) to get things like materials\debug, materials\editor, etc. 
         
        // 
        // The code that loads this file automatically does a few things here: 
        // 
        // 1. For each "Game" search path, it adds a "GameBin" path, in <dir>\bin 
        // 2. For each "Game" search path, it adds another "Game" path in front of it with _<langage> at the end. 
        //    For example: c:\hl2\cstrike on a french machine would get a c:\hl2\cstrike_french path added to it. 
        // 3. For the first "Game" search path, it adds a search path called "MOD". 
        // 4. For the first "Game" search path, it adds a search path called "DEFAULT_WRITE_PATH". 
        // 
 
        // 
        // Search paths are relative to the base directory, which is where hl2.exe is found. 
        // 
        // |gameinfo_path| points at the directory where gameinfo.txt is. 
        // We always want to mount that directory relative to gameinfo.txt, so 
        // people can mount stuff in c:\mymod, and the main game resources are in 
        // someplace like c:\program files\valve\steam\steamapps\<username>\half-life 2. 
        // 
        SearchPaths 
        {
            GameBin                |gameinfo_path|addons/metamod/bin 
            Game                |gameinfo_path|. 
            Game                platform 
        } 
    } 
}
Current Problems:

Dota 2 is running, and can't seem to get any connections from client.

Debian Linux Wheezy 7.5 64 bit.


I spent the last 5 hours working on this..

All I can figure out that is..

Dota 2 does not setup a listen port for 27015 on the server... Period! It does however setup 1 random higher than 40000+ UDP port, and a static 26901 UDP port. It does not ever setup a 27015 listen port for the server in either sv_lan mode 0 or 1.

I've tried to tunnel both tcp and udp to the server via SSH and connecting my client thru that method, and I've tried to connect to the public ip address. I have tried to use IPTABLES to do something like this:

I DO NOT SUGGEST YOU DO THIS: THIS IS JUST SOMETHING I'VE TRIED AND DOES NOT WORK!
Code:
*nat
-A FORWARD -d 107.161.28.137 -i venet0 -p tcp -m tcp --dport 27015 -j ACCEPT  
-A PREROUTING -d 127.0.0.1 -p tcp -m tcp --dport 27015 -j DNAT --to-destination  107.161.28.137 
COMMIT

*filter
-A POSTROUTING -o venet0 -j MASQUERADE
COMMIT
And that doesn't work either...

So.. there is nothing that I know of right now that would make Dota 2 or force it to open a port up for linux.

AS OF RIGHT NOW. 25 MAY 2014 SUNDAY AT 1AM EST TIME, DOTA 2 SERVER DOES NOT WORK FOR LINUX DEBIAN 64-BIT SERVER EITHER SETTING IT UP AS LAN OR DEDICATED!

update...

using +ip instead of -ip changes what ip addess Dota 2 binds to for the two ports it binds to... still can't seem to get it to serve on 27015

im not sure if its suppose to be like this.. but in console the clientport is -1, and seems to be unable to change during start up. You can change in console..

"clientport" = "-1" ( def. "27005" )

Been playing with some console commands:

net_status
Net status for host 107.161.28.137:
- Config: Multiplayer, listen, 0 connections
- Ports: 0 client 65535, 1 server 0, 2 hltv 0, 3 total.

server_gc_status
Requesting GC status...
Server failed to get reply from the GC
^^ after reading dota2fixups.. its actually not suppose to be successful.

cvarlist - for list of all cvars

I guess the only way to fix this would be in trying to figure out in the source code what would force a linux server to bind the client udp port (ie. force listening) even if its not changeable by the enduser. (27015 recommended)

Please do let me know if someone figures it out.

Thanks.

Last edited by El Diablo War3Evo; 05-25-2014 at 12:26. Reason: updated again.
El Diablo War3Evo is offline