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.