Jump to content

Slmod for DCS 1.5/2.0


Recommended Posts

  • 2 weeks later...
  • 4 weeks later...

Minor news update about the future of the script of sorts. Since 2.5 is finally near I'm actually dedicating some time to get some features and fixes into slmod. Plus I now help out with the DFA server so there is a bit of a reason for me to expand slmod functionality.

 

I've got a few feature requests/ideas on the github that I'll be trying to work through. If there is anything particular on that list that you guys think is a high priority or have something not on that list please let me know.

 

 

Keep in mind that I've got a lot of stuff I want and have to do within DCS as far as personal projects go. I want to try to do "bursts" of effort on different projects where I work for a few days on one project, push changes live, move to another, etc. As it stands I've got WIP stuff on mist, IADS, and slmod that I've simply been procrastinating on. Plus several mission projects I'd love to make, but always get bogged down with something on.

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

Howdy Grimes, Many thanks for looking after this, use SLMOD myself

and server hosting without it would be a massive PITA

So great work

 

Feature Request:

People on the administrator list, could they be excluded from ping check kicking please ?

METAR weather for DCS World missions

 

Guide to help out new DCS MOOSE Users -> HERE

Havoc Company Dedicated server info Connect IP: 94.23.215.203

SRS enabled - freqs - Main = 243, A2A = 244, A2G = 245

Please contact me HERE if you have any server feedback or METAR issues/requests

Link to comment
Share on other sites

Hi Grimes!

 

If possible, a "lite" version of slmod that only includes the admin commands.

 

In our community server we primarily use the "-admin load" and "-admin restart" commands to load missions that community members upload to the slmod mission folder.

 

All other functions are brilliant, but rarely used if at all by the pilots in my community.

 

Cheers!

IAF.ViFF

 

http://www.preflight.us

Israel's Combat Flight Sim Community Website

Link to comment
Share on other sites

Feature Request:

People on the administrator list, could they be excluded from ping check kicking please ?

 

Possibly yeah. Its more a question from the config side of things. Should there be separate exempt lists for stats and ping check or should it be shared? Sort of thing.

 

If possible, a "lite" version of slmod that only includes the admin commands.

In our community server we primarily use the "-admin load" and "-admin restart" commands to load missions that community members upload to the slmod mission folder.

 

I've debated on rewriting slmod to an extent to have a 'lite' version. The main reason I'd think of doing that was to narrow the focus down a bit to just pure server administration functionality. Slmod was originally written to take advantage of the scripting engine before it got fleshed out as the feature it is today. So it has a lot of functionality that isn't really needed anymore. That said I'm not sure how much performance impact there is with everything running vs something just used for server commands.

 

However that'd be its own project of sorts because it would be stupidly complex to go through the existing code to try and strip out stuff for a lighter version. It'd be easier to start from scratch or at least copy stuff out into its own project. The problem then it may become a time sink in itself. So not likely to do it any time soon.

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

Pushed the first batch of fixes to develop branch.

 

-Added '-admin alert' command. This will display an admin message over chat and triggered messages.

-Fixed missionStats filename getting cut off

-Fixed missionStats so the previous missions file will be resaved so it is organized if you choose to view it

- Added a new SlmodMetaStats.lua file. Will add terrain usage and mission usage stats to this later.

 

 

Gonna mess with the exemption list stuff tomorrow. May also experiment with a forgive command for TKs.

 

I want to try and group config file changes together so it isn't a constant annoyance to server admins to update it to their settings.

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, Thanks for replying, It might be more flexible to add other lists for ignore ping check ? / stats ignore

 

Which ever is easiest for you to implement good sir

METAR weather for DCS World missions

 

Guide to help out new DCS MOOSE Users -> HERE

Havoc Company Dedicated server info Connect IP: 94.23.215.203

SRS enabled - freqs - Main = 243, A2A = 244, A2G = 245

Please contact me HERE if you have any server feedback or METAR issues/requests

Link to comment
Share on other sites

Pushed another update to develop branch. It is somewhat untested...

 

Added external file for ping and auto admin exemption. (This is the mostly untested part)

Added metaStats file for keeping track of assorted information.

Added -admin alert <message> command

localized pingCheck code up a bit since some values didn't need to be global.

 

 

ExemptClients.lua is an file containing 3 tables for you to define if you want specific players to be exempt from ping checks, autoadmin actions, or both. It works the same as the exemptionList found in your config file. Both can actually work in tandem. Slmod looks to the config list first and then the external list, anything missing will be added. The list in the config file assumes players to be exempt from both ping and autoadmin.

 

Typing -admin alert <Message> into chat simply allows an admin to display a message over chat and triggered messages to all players. Default display time for the trigger is 10 seconds + 0.6 for each word.

 

Finally there is the new slmodMetaStats.lua file. This file simply keeps track of some stat data that might be useful for server admins.

 

One entry is used by slmod to open and resave a missionStats file.

 

Basically turns the 1 line stream of updated stat data like this:

misStats["myUCID"]["kills"]["Buildings"] = { ["Other"] = 0, ["Static"] = 0, ["total"] = 0, }

into this a more readable format:

           ["Buildings"] = 
           {
               ["Other"] = 0,
               ["Static"] = 0,
               ["total"] = 0,
           }, -- end of ["Buildings"]

 

The much more interesting feature though is the newly added mission and map stats. Thought it might be interesting to quantify how much certain missions get played on a server.

 

The flight hours and minutes hosted is currently disabled. Just spent way to much time on getting the separate file for metaStats working tonight to test/include all stats.

 

["missionStats"] = 
{
   ["slmod_teamKillapalozza"] = 
   {
       ["map"] = "Caucasus",
       ["mostRecentPlayed"] = "Jan 18, 2018 at 04 22 59",
       ["timesPlayed"] = 3,
       ["minutesHosted"] = 0,
       ["firstPlayed"] = "Jan 18, 2018 at 04 02 07",
       ["totalFlightHours"] = 0,
       ["maxClients"] = 0,
   }, -- end of ["slmod_teamKillapalozza"]
}

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

A bakers dozen C-130s have given their life for me to test the exemption list. Looks like its working just fine. Didn't get a chance to test the ping part, but as long as the ping check in itself works the exemption list should also. Annoyingly the net.kick messages a player receives appears to be broken, but thats on ED's end.

 

Anyways I've setup a milestone for what I'm wanting to implement in the near term for 2.5.

 

https://github.com/mrSkortch/DCS-SLmod/milestone/1

 

Due to some of those new features requiring config changes you should expect to have to update your config files. Depending on how progress goes I may push the changes that add config changes in one go. Otherwise they might come in one by one.

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

looks like it is not kcicking people with too high a ping

set limit was 240

 

observed a player on server with 379 ping

waited a min but he still there

METAR weather for DCS World missions

 

Guide to help out new DCS MOOSE Users -> HERE

Havoc Company Dedicated server info Connect IP: 94.23.215.203

SRS enabled - freqs - Main = 243, A2A = 244, A2G = 245

Please contact me HERE if you have any server feedback or METAR issues/requests

Link to comment
Share on other sites

Hi Grimes,

 

I noticed that in your milestone list, you have "Fix admin registration". I have tested the -reg command and successfully registered a few players as administrators. It would appear this is working again.

 

The mission restart (-admin restart) appears to still be broken however.

 

Has anyone else experienced this too?

Link to comment
Share on other sites

Hi Grimes,

 

I noticed that in your milestone list, you have "Fix admin registration". I have tested the -reg command and successfully registered a few players as administrators. It would appear this is working again.

 

The mission restart (-admin restart) appears to still be broken however.

 

Has anyone else experienced this too?

 

Same here on both observations.

 

Cheers!

IAF.ViFF

 

http://www.preflight.us

Israel's Combat Flight Sim Community Website

Link to comment
Share on other sites

Hi Grimes,

 

I noticed that in your milestone list, you have "Fix admin registration". I have tested the -reg command and successfully registered a few players as administrators. It would appear this is working again.

 

The mission restart (-admin restart) appears to still be broken however.

 

Has anyone else experienced this too?

 

Yeah turns out I was using it wrong. :megalol: I thought the command was '-admin reg' and then '-reg <password>'.

 

Fixed the restart command and ping checker. So its on the next update I push to github. Tested and verified the kick to spectators new admin command, ping checker, ping exempt list, and admin restart command are all working.

 

 

Not much work on SLMOD right now I believe. Waiting for 2.5 to see what that changes ;)

 

Plenty works on it, its just been somewhat ignored on my end and lack of complaints on users end (aside for not running as admin bugs) makes it somewhat neglected. As far as I can tell the 2.5 API is the same as 2.2. So its more of "oh yeah I was gonna polish everything up once the API stabilized and code was merged". Fast forward way longer than I thought it would take and here we are.

 

 

Anyways started coding up the forgive/punish commands, vote mission, and adding an extra layer of punishment for the auto-admin functionality to kick a player to spectator. It has ballooned into quite a few new options to the config file, so expect to update your configs whenever those features go live.

  • Like 1

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

tested it out for last few days on a busy server

and it is working very well, thanks a lot Grimes

METAR weather for DCS World missions

 

Guide to help out new DCS MOOSE Users -> HERE

Havoc Company Dedicated server info Connect IP: 94.23.215.203

SRS enabled - freqs - Main = 243, A2A = 244, A2G = 245

Please contact me HERE if you have any server feedback or METAR issues/requests

Link to comment
Share on other sites

Plenty works on it, its just been somewhat ignored on my end and lack of complaints on users end (aside for not running as admin bugs) makes it somewhat neglected. As far as I can tell the 2.5 API is the same as 2.2. So its more of "oh yeah I was gonna polish everything up once the API stabilized and code was merged". Fast forward way longer than I thought it would take and here we are.

 

Anyways started coding up the forgive/punish commands, vote mission, and adding an extra layer of punishment for the auto-admin functionality to kick a player to spectator. It has ballooned into quite a few new options to the config file, so expect to update your configs whenever those features go live.

That is good news Grimes. :thumbup:

Link to comment
Share on other sites

Forgive and punish commands have been implemented and initially tested. More or less works as intended. I need to add some messages for it, not sure if I should make that configurable. I haven't uploaded it yet due to the vote code being WIP and all the config changes that come with it.

 

Mission voting is becoming a slight headache due to the sheer number of possible ways it could be implemented. As I was trying to figure out what should be in the config file I kept thinking up all sorts of settings that could make things overly complicated. Not to mention vote maps can be extremely annoying in assorted games I've played over the years due to constant players begging to change a map and what not. Right now I have at least 12 settings for it.

 

Admin has commands to start, stop, and toggle a vote. Additionally there is a setting to simply disable the ability for players to vote if an admin is on the server.

 

The general idea is that there will be an initial vote with a single command to try and kickstart a mission vote. This is optional setting and is referred to as 'rtv' or rock the vote. The point of it is for players to get plenty of forewarning that an actual mission vote is going to occur. Also for the mission vote to be relatively short while the vote to rtv can be much much longer. This vote type is setup with a ratio, where once a certain ratio of players -rtv then the vote will commence. For example if it is set to 0.6 then at least 60% of the players on the server have to have typed -rtv. With it turned off its basically the first person to vote for a mission will kick off a normal mission vote.

 

The functionality for the mission vote itself are fairly straight forward. Users can get a mission list and vote by ID in a similar way the admin load command works. They can also do a quick '-vote restart' to vote for the current mission. Users have 1 vote, but they can change it at any time. If you disconnect your vote is removed. Currently I am tying the mission list to only list missions in your set mission folder and have been loaded once on the server.

 

The actual rules for the vote are another thing. Thus where the headaches and all the config options come in. I have 3 basic rule types I want to make available for voting: majority, ratio, and magicNumber.

Majority requires a simple majority to win a vote ( 4 votes or A, 3 votes for B; A wins)

Ratio has a minimum percentage of the players to vote for a mission (Ratio set to 0.4. 4 votes for A, 3 votes for B, 1 vote for C; A wins (50% of the votes went to A))

magicNumber requires an actual vote count to be reached, if a mission doesn't get enough votes nothing happens. (Magic number is 5. 4 votes for A, 3 votes for B, 1 vote for C, Vote fails)

 

Also gotta think about assorted contingencies and options people may want. Most of this I am undecided on whether or not it will be implemented and I'd like to have some feedback on it.

 

Should there be a minimum number of votes required at all times?

Should ruleset change as player count changes?

Should there be an admin command/option to verify the vote if present?

How many messages should there be associated with the vote?

Should players be able to track the vote status in real time or should it be a blind vote? (Either global messages when someone votes or an added command to show missions with votes)

Should players who have been banned or above a set penalty points be allowed to vote?

Should there be options to limit the number of missions that can be voted on?

Should there be an ability to vote for an actual MAP (Black Sea, Nevada) before a vote for a mission occurs?

Should there be an auto vote after a set time? (Also a map rotation to be built into slmod)

 

See what I mean when it can be made more complicated than maybe it should be? :smartass:

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

Should there be a minimum number of votes required at all times?

Not. Even a single player should be able to vote himself what he wants if he is no admin.

Should ruleset change as player count changes?

Would be nice. Maybe also changeable through chat command if doable.

Should there be an admin command/option to verify the vote if present?

Would be handy.

How many messages should there be associated with the vote?

According to how long the vote is planned to last. 30sek vote // 3sek timer top right corner. what one votes should only be displayed in chat

Should players be able to track the vote status in real time or should it be a blind vote? (Either global messages when someone votes or an added command to show missions with votes)

Should be integrated in the timer in top right corner, just displaying these which already got votes

Should players who have been banned or above a set penalty points be allowed to vote?

too much. can banned ones even join the server ?

Should there be options to limit the number of missions that can be voted on?

two ways : either a fixed list extra for voting or a random list, generated from content of mission folder. for me personally not rly neccessary, always cleaning up the mission folder ;)

Should there be an ability to vote for an actual MAP (Black Sea, Nevada) before a vote for a mission occurs?

Nope. BUT some clear indication in which theater the voted map is taking place. also...what to do with the folks who don't own the next map ?!

Should there be an auto vote after a set time? (Also a map rotation to be built into slmod)

not neccessary. maybe as an option. map rotation functions just fine in dcs with triggers.

 

Greetings

blue

Link to comment
Share on other sites

Hi Grimes

 

my max ping is set to 240ms

 

See attached pic

 

Any idea why these guys are not getting kicked ?

 

pingcheck_conf.max_ping = 240

 

pingcheck_conf.wait_time = 15

 

pingcheck_conf.warning_repeat_time = 15

 

pingcheck_conf.warning_limit = 3

 

pingcheck_conf.warning_msg = true

ping.thumb.jpg.dc9dbd0a92f19c93a71f78bdd5eb752e.jpg

METAR weather for DCS World missions

 

Guide to help out new DCS MOOSE Users -> HERE

Havoc Company Dedicated server info Connect IP: 94.23.215.203

SRS enabled - freqs - Main = 243, A2A = 244, A2G = 245

Please contact me HERE if you have any server feedback or METAR issues/requests

Link to comment
Share on other sites

Nope. BUT some clear indication in which theater the voted map is taking place. also...what to do with the folks who don't own the next map ?!

 

I've already addressed that but forgot to mention it in the post. One reason why it will only show missions that have been loaded is so it can look in the metaStats file to find the mission and know which map it is on. Then in the mission list it adds a prefix to the mission indicating the map. When listed it displays as:

1. NV- SomeMissionOnNevada

2. BS- SomeMissionOnCaucuasus

etc.

 

You can configure the shortcuts, but the defaults will be two characters like above. I'm not actually sure what happens to people when the server changes to a map they don't have. I assume they just get kicked. Unfortunately there is no built in functionality to know which maps connected players have installed. The only practical solution would be to note if a client has played on a map in their stats and somehow take that into account.

 

my max ping is set to 240ms

 

See attached pic

 

Any idea why these guys are not getting kicked ?

 

If you have chat logs enabled check to see if they were getting warnings to be kicked. Otherwise I might need to create a special version of the ping check file with extra logging enabled to try and figure out why certain users might not get kicked. My test was extremely simple with just myself and a server.

 

 

 

Ugh. Just realized the chat logs are super spammy with some messages. Gotta fix that now.

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

  • Recently Browsing   0 members

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