Дополню. Есть готовые реализации socket'ов для Win, с Linux простого решения не нашлось. После долгих и упорных попыток сделать все же это самому решил искать помощи у одного из разработчиков garrysmod socket'ov для вин, в итоге все заработало.
1) Качаем
g1.metastruct.org:20080/modules/gmsv_luasocket_lin... скидываем в "garrysmod/lua/bin"
2) Открываем srcds_run, ищем LD_LIBRARY_PATH, меняем на LD_LIBRARY_PATH=".:bin:garrysmod/bin"
3) Убедитесь что gmsv_luasocket_linux.dll имеет доступ к lua_shared_srv.so который находится в "/garrysmod/bin/"
4) Копируем файл
code.google.com/p/gmod-haza/source/browse/trunk/PI... в "garrysmod/lua/includes/modules/socket.lua"
5) В вашем скрипте пишем "require('luasocket')" и вызываем "luasocket_stuff.luaopen_socket_core()"
6) Пользуемся)
Простой пример:
require("luasocket")
luasocket_stuff.luaopen_socket_core()
local host, port = "127.0.0.1", 5000
local tcp = assert(socket.tcp())
tcp:send("hello world\n");
local line = tcp:receive('*line')
print(line)
tcp:close()