Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Серверный винда 2022 поставлена, x64.
При первом запуске выдает: %1 не является приложением Win32.
При повторном запуске раксампа: Не удается найти модуль.
раксамп сдохнут если там выйдет фатальная ошибка (ошибка в программе), и у его нет авто-запуск в случае краша/вылета
поэтому советую сменить ос на линукс и создать вайн под сборки вин10 и х64
Какое-то время поработал с библиотекай, в целом всё классно, но есть несколько вещей которые можно было бы улучшить/прояснить:
1. Само соединение игру не блокирует, входящие пакеты принимает нормально, но вот при отправке пакетов игра всё же подвисает, насколько сильно зависит от пинга. Пробовал делать отправку отдельным потоком и всё-равно блокирует. Пример моего кода:
Если сервер не отвечает игру зафризит на время таймаута:
function sendOutput()
lua_thread.create(function()
local packetCounter = 0 --Костыль, для ограничения количества отправляемых пакетов
local tables = findAllTables()
for i = 1, #tables do
if packetCounter > settings.maincfg.maxPackets then packetCounter = 0 wait(5)
else packetCounter = packetCounter + 1 end
local result = {
tables[i].name,
tables[i].objType,
}
if packetCounter > settings.maincfg.maxPackets then packetCounter = 0 wait(5)
else packetCounter = packetCounter + 1 end
WebS.SendMessage("OutputLua", result)--Чем выше пинг тем на дольше фризит игру
end
end)
end
на раксамп это особо не заметно, возможно особенности именно гташного мунлоадера.
2. Не умеет работать с https соединением. Во всяком случае если запускать тот же хост с сертификатом безопасности, то перестаёт к нему подключаться (именно со стороны игры/раксамп, на стороне сервера проблем нет). И эта часть наверное самая критичная, надеюсь что это я что-то не так делаю.
Соединение (gtasa):
function openConnection(hostURL)
if (connectionStatus == 1) then return end
attempsConnect = attempsConnect + 1
attempsConnectTime = os.clock()
print("{FFFF00}Opening connection to https://" .. hostURL)
WebS.Connect("https://" .. hostURL .. "/samplua")
isEnabled = true
settings.maincfg.enableTransmit = true
lua_thread.create(function()
while true do
local output = WebS.GetMessage()
if output ~= '' then
parseInputData(output)
end
wait(100)
end
end)
print("{777777}Waiting for answer...")
connectionStatus = 0
sendUserConnect()
end
Соединение (raksamp):
function openConnection(hostURL)
if (connectionStatus == 1) then return end
attempsConnect = attempsConnect + 1
attempsConnectTime = os.clock()
print("{FFFF00}Opening connection to https://" .. hostURL)
WebS.Connect("https://" .. hostURL .. "/samplua")
isEnabled = true
settings.maincfg.enableTransmit = true
newTask(function()
while true do
local output = WebS.GetMessage()
if output ~= '' then
--print("{FFFF00}" .. output)
parseInputData(output)
end
wait(100)
end
end)
print("{777777}Waiting for answer...")
connectionStatus = 0
sendUserConnect()
end
3. Так и не понял возвращает ли WebS.Connect что-либо при успешном/неудачном подключении. Было бы неплохо чтобы возвращал.
4. При краше скрипта не всегда успевает сработать onExitScript(quitGame)/onScriptTerminate(s, quitGame), в результате из-за открытого соединения игра крашится