Jump to content

Slmod for DCS 1.5/2.0


Recommended Posts

Yikes, my server's Slmod ServerAdmins.lua was inadvertently changed. The UID for 'Wrecking Crew' is still there but the player name associated with it is now 'Hollo Pointe'. During my testing I made numerous attempts to register 'Hollo Pointe' as an admin and thought I was successful, until I looked into the file.

 

Edit --> I tried this again after repairing my ServerAdmins.lua file.

Looking at the on screen chat text, after Wrecking Crew types in '-admin load Hollo Pointe', and I exit the mission as WC and join as Hollo Pointe, I see in the text chat on screen: 'Slmod: you were granted server admin status by admin "Hollo Pointe".

 

This ^^^ should have said that admin status was granted by "Wrecking Crew". Checking the ServerAdmins.lua again I see that this time the UID for Wrecking Crew is correct with the WC player name.

WC


Edited by Wrecking Crew

Visit the Hollo Pointe DCS World server -- an open server with a variety of COOP & H2H missions including Combined Arms. All released missions are available for free download, modification and public hosting, from my Wrecking Crew Projects site.

Link to comment
Share on other sites

It looks like slmod is loading twice, which probably explains a lot of the errors. I'm gonna guess that you didn't remove the userGameGUI.lua file from one of the previous updates. So in the root of \Saved Games\DCS\Scripts, there should be only the slmodGameGUI.lua and net folder containing slmod. I would remove the stats file and start fresh since there are a lot of errors related to stats code.

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

I've added a ping check functionality which can kick players with a too high ping, configurable within the server config.

 

Also issued a pull request for this one, in case such a feature is wanted within core Slmod.

Download available here.

 

The configuration is as follows:

-- PingCheck settings
pingcheck_conf = {}

--Enable/disable PingKick
pingcheck_conf.enabled = true

--Maximum ping
pingcheck_conf.max_ping = 350

--Defines the waiting time between ping checks in seconds
pingcheck_conf.wait_time = 10

--Defines the waiting time between high ping warnings in seconds
pingcheck_conf.warning_repeat_time = 30

--Limits the amount of warnings a player can receive
pingcheck_conf.warning_limit = 4

  • Like 1

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

I noticed there might still be a small issue with the warning message, it seems to be broadcasted to everyone even though I set the affected client as scope for it. Perhaps I saw it because I was the server host but none the less this should be checked. Everything else worked just fine when I tested it.

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

It looks like slmod is loading twice, which probably explains a lot of the errors. I'm gonna guess that you didn't remove the userGameGUI.lua file from one of the previous updates.

 

That took care of the dcs log errors. Thanks!

 

WC

Visit the Hollo Pointe DCS World server -- an open server with a variety of COOP & H2H missions including Combined Arms. All released missions are available for free download, modification and public hosting, from my Wrecking Crew Projects site.

Link to comment
Share on other sites

Terrific CodeFox, thanks for the ping issue! I will download this one right now!

 

I've added a ping check functionality which can kick players with a too high ping, configurable within the server config.

 

Also issued a pull request for this one, in case such a feature is wanted within core Slmod.

Download available here.

 

The configuration is as follows:

-- PingCheck settings
pingcheck_conf = {}

--Enable/disable PingKick
pingcheck_conf.enabled = true

--Maximum ping
pingcheck_conf.max_ping = 350

--Defines the waiting time between ping checks in seconds
pingcheck_conf.wait_time = 10

--Defines the waiting time between high ping warnings in seconds
pingcheck_conf.warning_repeat_time = 30

--Limits the amount of warnings a player can receive
pingcheck_conf.warning_limit = 4

Link to comment
Share on other sites

Thanks Grimes!

 

Sent from my SM-G920V using Tapatalk

Steve (Slick)

 

ThrustMaster T.Flight Hotas X | TrackIR5 Pro | EVGA GTX 1070 | Win10 64-bit Professional | Dell Precision 7920 Workstation | 1 TB SSD | 128 GB Memory | Dual Intel Xeon Platinum 2.0 GHz 16 Core Processors (64 Total w/HT ON) | 24" Dell Monitor

Link to comment
Share on other sites

Would be nice yes, the only reason i was running Servman on 1.2 was because it could check pings so you don't get these people: 'High ping? My ping is 2000 and the higher the better!' .. while lagging the server up for everyone else :|

-

If man were meant to fly he'd be filled with helium.

Link to comment
Share on other sites

  • 2 weeks later...

Just a quick update. First off I reformatted my PC earlier this week, so I've been reinstalling and setting everything up so that has delayed me with working on slmod. I remembered to back up all my useful mission files and configs, but I forgot to deactivate my modules. doh. Second is that I was also waiting to see if some changes in the API were coming in the next patch. However due to the alternating patches I think I'd best wait for both versions to use the same API calls before releasing a specific fix. Thirdly the ping checker and this other bit of code I've been meaning to implement both change the config file. So to make things easier on the end user I'd prefer to do both at the same time so they don't have to update their config settings twice.

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

Hi Grimes, this is a long shot, but , with the API and recent showcase scripts showing how to manage slot joining, kicking and management, plus a tasty Dedicated server script loading missions right in after restart, I have to admit to wondering if SLMOD will ever extend to slot management - what I mean is name/squad reservations, UUID to slot reservation mapping and perhaps even extend the API more into the mission so missions can call slot management features?

Yeah I know, i pushed the boat out, but I do see this as the future, we are quite close to pseudo dedicated servers now, all we need is a light client but hell we waited thus far.

 

What do you think?

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

Its more of a question for whatever would be the most optimal way to implement it and how valuable such a feature would be. As I see it there are two core aspects of such a feature, slot reservation and mission slot control. The first is primarily geared around having specific slots reserved for specific people because there is still no way to change liveries in MP. (╯°□°)╯︵ ┻━┻ There are certainly other uses, but the liveries is the one I always think back to since its usually what makes a specific slot "unique". Mission slot control would be more like a trigger to enable or disable certain slots throughout the playtime of a mission. Missions utilizing it would be a move back toward using slmod for mission scripting instead of the actual scripting engine itself. That said implementing such a feature directly with the net environment would be a more "natural" fit and cause fewer potential issues.

 

The mission control stuff would be relatively easy with respect to how the data is organized. I think it could all be defined directly within the mission file. Slot reservation is a little more tricky due to using either UCID or passwords to gain access to a given slot. Obviously something would need to be stored server side, but its not something that would necessarily apply to all missions that are run on a server. Each mission would need a custom definition for each reserved slot. Ultimately it'd probably require more work for the server admin. At the same time its just as easy to ask people nicely not to take specific aircraft slots.

 

Just as a reminder to myself I'm going to add feature requests up on the github page. That doesn't mean I'll add stuff for sure, its just a better place to organize it so it doesn't get buried and forgotten about in the thread.

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

Hi Grimes, this is a long shot, but , with the API and recent showcase scripts showing how to manage slot joining, kicking and management, plus a tasty Dedicated server script loading missions right in after restart, I have to admit to wondering if SLMOD will ever extend to slot management - what I mean is name/squad reservations, UUID to slot reservation mapping and perhaps even extend the API more into the mission so missions can call slot management features?

Yeah I know, i pushed the boat out, but I do see this as the future, we are quite close to pseudo dedicated servers now, all we need is a light client but hell we waited thus far.

 

What do you think?

 

You can get the name of a player within the scripting engine. Then you can crosscheck it with a list of the names with those that are allowed to use it or you check whether it contains your squadrons tag or not. Depending on that, you kick the player out of the slot.

 

Sure, it doesn't check for UIDs, but how many people are actually going to change their name to get into a specific slot...

aka: Baron

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

You can get the name of a player within the scripting engine. Then you can crosscheck it with a list of the names with those that are allowed to use it or you check whether it contains your squadrons tag or not. Depending on that, you kick the player out of the slot.

 

Sure, it doesn't check for UIDs, but how many people are actually going to change their name to get into a specific slot...

 

Which is why I'm sort of on the fence with it. In my opinion I'd rather not use slmod to expand upon basic functionality that can be accomplished via the scripting engine. Afterall slmod was originally created when the scripting engine was in its infancy. However anything that deals with multiplayer specific items that the scripting engine can't natively handle is within the realm of slmod. I think it would generally be "cleaner" to disallow players to join a specific slot under certain circumstances to allow them to join, spawn, and then issue actions against them.

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

Well to be fair you already collect UUID's for Admin control, we had to add manually in there. The use case I am looking for is blocking slots to say...GAMEMASTER slot or Tactical commander slot as well as reservations as skins or sqn slots, then not only that but balancing purposes, forcing side blue and red as they come is another wicked use. As for changer player names to get passed things, you need to join and play Blue Flag and see the shenanigans there :)

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

Admin status is mission independent, so it doesn't rely on specific slots to be named a specific way in order to be identified for a specific use by a specific player. There are probably a few ways to go about it but checking slot by slot is the easiest but requires a bit of work...

{
['mission1'] = {
	['bobsF15'] = {'bobsUCID'},
	['bobsA10C'] = {'bobsUCID'},
},
['mission2'] = {
	['bobsSu27'] = {'bobsUCID'},
	['bobsSu33'] = {'bobsUCID'},
},
['mission3'] = {
	['bobsF16'] = {'bobsUCID'},
	['bobsF22'] = {'bobsUCID'},
	['bobsF35'] = {'bobsUCID'},
},
}

 

At its most simple for the end user I'd have to make a "Squad" level group or something along those lines and search for slots with specific strings to allow anyone within the squad to join. And that doesn't cover Combined Arms slots which don't actually have unique names associated with them like units do.

 

Autobalancing... that seems like a can of worms. For pure PvP it could be an option, but the moment you add in PvE mechanics into a mission the whole concept of balance goes out the window. It is something that comes back to just asking nicely in the chat...

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

Hi Grimes, do you think you could add an option to block/kick players that use an empty playername? It's hard to address them and maybe they don't get TK-kicked (think i saw this happen once).

-

If man were meant to fly he'd be filled with helium.

Link to comment
Share on other sites

I at first was worried about the blank name users, but SLmod does deal with them ok. One thing to check out is why the name is blank. I have seen them blank from the server perspective, but when cross referenced by a client machine, there is actually a name there that is usually "Player". But, not all clients with the name "Player" show up as blank names. Dealing with them by there ID has been working in my experience on the VA.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...