Release 0.8-pre #77
RaphaelIT7
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Warning
This is a pre-release for the upcoming
0.8
This release does not include all the changes that were planned to be inside of the
0.8
though it still has a lot of things.Mainly this release is aimed to be a stable version of the current changes and anything unstable was either fixed or disabled.
This Update
- [+] Any files in
lua/autorun/_holylua/
are loaded by HolyLib on startup.- [+] Added a new module
luathreads
- [+] Added
NS_
enums togameserver
module.- [+] Added missing
CNetChan:Shutdown
function to thegameserver
module.- [+] Added LZ4 compression for newly implemented net channel.
- [+] Added
util.CompressLZ4
&util.DecompressLZ4
toutil
module.- [+] Implemented a custom
CNetChan
for faster Server <-> Server connections. See #42- [+] Added
HolyLib.ReceiveClientMessage
toHolyLib
module.- [+] Added
physenv.IVP_NONE
flag tophysenv
module.- [+] Added a few stringtable related functions to the
stringtable
module.- [+] Added a new hook
HolyLib:OnClientTimeout
to thegameserver
module.- [+] Optimized
GM:PlayerCanHearPlayersVoice
by only calling it for actively speaking players/when a voice packet is received.- [+] Added
voicechat.LoadVoiceStreamFromWaveString
,voicechat.ApplyEffect
,voicechat.IsPlayerTalking
&voicechat.LastPlayerTalked
to thevoicechat
module.- [+] Added
VoiceStream:ResetTick
,VoiceStream:GetNextTick
,VoiceStream:GetCurrentTick
,VoiceStream:GetPreviousTick
to thevoicechat
module.- [+] Added
util.FancyJSONToTable
&util.AsyncTableToJSON
to theutil
module.- [+] Added
gameserver.GetClientByUserID
to thegameserver
module.- [+] Added a config system allowing one to set convars without using the command line.
- [+] Added
IPhysicsEnvironment:SetInSimulation
to thephysenv
module.- [+] Added
HttpResponse:SetStatusCode
tohttpserver
module. (See #62)- [+] Added
HttpRequest:GetPathParam
tohttpserver
module. (See #63)- [+] Added
bitbuf.CreateStackReadBuffer
&bitbuf.CreateStackWriteBuffer
tobitbuf
module.- [+] Added a fallback method for HolyLib's internal
Util::PushEntity
function in case a Gmod update breaks our offsets which previously lead to undefined behavior- [#] Added some more safeguards to
IPhysicsEnvironment:Simulate
to prevent one from simulating a environment that is already being simulated.- [#] Highly optimized
util
module's json code to be noticably faster and use noticably less memory.- [#] Better support for multiple Lua states
- - This required most of the lua setup to be changed >:(
- [#] Solved a few possible stack issues
- [#] Fixed a crash after a map change. See #41
- [#] Update internal
netadr
stuct to now properly supportloopback
andlocalhost
inputs for IP's.- [#] Possibly fixed memory issues caused by
IGModAudioChannel
's being deleted & having undefined behavior.- [#] Fixed
HolyLib:OnPhysicsLag
possibly being called recursively causing a crash.- [#] Fixed every function from the
physenv
module not accepting gmod's PhysObj.- [#] Fixed a crash caused by
comcommand
module since Gmod'sConCommand_IsBlocked
changed. (See #45)- [#] Fixed a few Windows issues.
- - [+] Added support for the
stringtable
module on Windows.- - [#] Fixed entitylist not being loaded on Windows
- [#] Solved a few Bass bugs.
- [#] Fixed possible undefined behavor & two buffer overflows in
gameserver
module.- [#] Updated
VoiceStream
file structure to also save the server tickrate and include a file version.- - The
VoiceStream
now properly updates the tickCount for the savedVoiceData
to scale the tickCount when the server changed tickrate which should ensure the audio remains usable.- [#] Fixed a issue with the
gameserver
moduel causing randomLost Connection
disconnects (See #51)- [#] Extented
networking
module to include some new things.- - Made some optimization for
PackEntities_Normal
reducing overhead- - Slightly optimized our own implementation of
CServerGameEnts::CheckTransmit
- - Added
holylib_networking_fastpath
which will use a transmit cache forCServerGameEnts::CheckTransmit
as a noticable optimization.- - Added
holylib_networking_maxviewmodels
allowing one to limit view models to1
for each player instead of each having3
of which2
often remain unused.- - Added
holylib_networking_transmit_all_weapons
- - Added
holylib_networking_transmit_all_weapons_to_owner
- [#] Slightly improved memory usage & performance for UserData created by HolyLib
- [#] Updated
VoiceStream
Load/Save
function to be able to read/write.wav
files- [#] Fixed
IModule::ServerActivate
not being called when being loaded as a binary module- [#] Fixed
HolyLib:ProcessConnectionlessPacket
being called for SourceTV packets- [#] Fixed
gameserver.SendConnectionlessPacket
crashing instead of throwing a lua error when NET_SendPacket couldn't be loaded- [-] Removed some unused code of former fixes that were implemented into Gmod
You can see all changes/commits here:
Release0.7...main
Existing Lua API Changes
- [+] Added third
protocolVersion
argument togameserver.CreateNetChannel
- [+] Added fourth
socket
(useNS_
enums) argument togameserver.CreateNetChannel
&gameserver.SendConnectionlessPacket
- [+] Added second and thrid arguments to
HolyLib:OnPhysicsLag
providing the entities it was working on when it triggered.- [+] Added
voicechat.SaveVoiceStream
4th argumentreturnWaveData
(previously the 4th argument wasasync
but that one was removed)- [+] Added
directData
argument toVoiceStream:GetData
,VoiceStream:GetIndex
,VoiceStream:SetIndex
andVoiceStream:SetData
- [+] Added overflow checks for
gameserver.BroadcastMessage
,CNetChan:SendMessage
andCBaseClient:SendNetMsg
when you try to use a overflowed buffer- [+] Added a few more arguments to
HolyLib:OnPhysicsLag
likephys1
,phys2
,recalcPhys
,callerFunction
and the argumentsent1
&ent2
were removed since you can callPhysObj:GetEntity
- [#] Fixed
addonsystem.ShouldMount
&addonsystem.SetShouldMount
workshopID
arguments being a number when they should have been a string.- [#] Changed
VoiceData:GetUncompressedData
to now returns a statusCode/a number on failure instead of possibly returning a garbage string.- [#] Limited
HttpServer:SetName
to have a length limit of64
characters.- [#] Fixed
IGModAudioChannel:IsValid
throwing a error when it's NULL instead of returning false.- [#] Fixed
HttpServer:SetWriteTimeout
using the wrong arguments. (See #65)- [#] Fixed
bf_read:ReadBytes
andbf_read:ReadBits
both failing to push the string properly to lua.- [#] Changed
voicechat.SaveVoiceStream
&voicechat.LoadVoiceStream
to remove their 4thsync
argument, if a callback is provided it will be async, else it'll run sync- [-] Removed
VoiceData:GetUncompressedData
decompress size argument- [-] Removed
CBaseClient:Transmit
third argumentfragments
.- [-] Removed
gameserver.CalculateCPUUsage
andgameserver.ApproximateProcessMemoryUsage
since they never worked.QoL updates
- [#] Changed some console message to be more consistent.
- [#] Solved a possible crash caused by a
CGameClient
disconnecting afterg_Lua
becameNULL
This discussion was created from the release Release 0.8-pre.
Beta Was this translation helpful? Give feedback.
All reactions