The default 2013 Source SDK makefile strips symbols from the linux binaries, causing those tools to not work.
If wanting to leave them in the server binary, the mod dev would have to do something like:
Code:
diff --git a/devtools/makefile_base_posix.mak b/devtools/makefile_base_posix.mak
--- a/devtools/makefile_base_posix.mak
+++ b/devtools/makefile_base_posix.mak
@@ -90,17 +90,19 @@ ifeq ($(OS),Linux)
ifneq ($(CXX),clang++)
VALVE_BINDIR = /valve/steam-runtime/bin/
endif
endif
GCC_VER =
MARCH_TARGET = pentium4
# On dedicated servers, some plugins depend on global variable symbols in addition to functions.
# So symbols like _Z16ClearMultiDamagev should show up when you do "nm server_srv.so" in TF2.
- STRIP_FLAGS = -x
+ ifeq (,$(findstring server.so,$(GAMEOUTPUTFILE)))
+ STRIP_FLAGS = -x
+ endif
endif
ifeq ($(CXX),clang++)
# Clang does not support -mfpmath=sse because it uses whatever
# instruction set extensions are available by default.
SSE_GEN_FLAGS = -msse2
else
SSE_GEN_FLAGS = -msse2 -mfpmath=sse
Edit: That said, the Mac version, if available, will typically still have symbols. It's also possible to find the offsets needed from just the Windows binary, albeit an exercise in tedium.