Jump to content

>>> ServMan Server Management Mod v2 for DCS:BS v1.0.1 Released! <<<


Acedy

Recommended Posts

VERSION 2 HAS BEEN RELEASED!!

 

Important announcement: v2 is the last version of this mod that will be developed by myself. However, this does not mean that it is going to die. I know that alot of servers are using it, so I have been looking for successors who would like to continue the work. Fortunately Panzertard and =RvE=Yoda have volunteered to do so, which I appreciate very much. Thanks fellas! As you all know they are very active members of the DCS/LO community, and I am sure the mod will be in good hands. From now on they are the new developers of this tool, so please direct any suggestions for new features to them!

 

-------------------------------------------------------------------

 

ServMan_Logo.jpg

 

Hey everybody!

 

As you know, Black Shark currently offers only basic server administration tools (manual kicking and mission loading). Some of you are looking forward to a full-fledged dedicated server option, and have already suggested certain features they would like to see. Eagle actually provided a quite powerful Lua based API, which you can use to implement more advanced administration features by yourself, given that you have some basic procedural programming skills in Lua. I have written a small mod which uses this API and allows you to run Black Shark as what I call a "pseudo-dedicated server". It is a purely serverside mod that enables a chat based interface and gives server hosts and players additional options to control the server. So far the mod offers the following main functions (most of which can be customized by the host):

 

Features included in v2

Server host functions

- automatic kicking for teamkills (human and AI)

- automatic kicking for too low score

- automatic kicking for team-damaging other players

- automatic kicking for high average ping

- automatic banning after too many kicks

- penalty time after kick

- reporting/logging of team collisions

- banning single IPs and whole IP ranges

- automatic mission restarting or rotating

- remote masterbanlist that can be downloaded from a webserver via http

- extended event logging including a chatlog

- message of the day and server rules

- support for other languages (English and German included)

 

Subadmin functions

- appointing trusted players as subadmins (accounts are password-protected)

- subadmins can manually kick or ban players

- subadmins can manually load missions

- subadmins can (un-)lock the server

 

Player functions

- players can start votekicks

- players can start missionvotes to load a specific mission

- players can start missionpolls to let everybody vote for their favorite mission

 

You can find the mod files attached to this post. It is only compatible with Black Shark v1.0.1, do not install it if you still use v1.0. Please refer to the readme for instructions on how to install, configure and run the mod. There are two versions available: 1. a standalone .zip file that you simply copy to the ./Ka-50/ root folder and unzip, and 2. a ModMan compatible version.

 

This is not an official Eagle Dynamics release, the mod is a 3rd party add-on.

 

The tool IS NOT compatible with Lock On/Flaming Cliffs.

 

For those who have been running v2 alpha 6, this release does not add any new functionality, it just fixed two bugs that were present in the alpha.

 

Please use this thread to provide feedback, suggest additional features and report problems/bugs (read the "Support and Bug Reports" section in the readme before doing so). However, if you found a way how players could possibly exploit certain features of the mod, please do not report this publicly, instead send a PM to Panzertard, =RvE=Yoda or me.

 

Finally I would like to thank everybody who helped me beta test the mod and/or who suggested additional features or reported bugs, your help is greatly appreciated! :thumbup:

 

My hope is that this mod encourages more people to host public Black Shark servers. :)

 

Acedy

 

-----------------

 

P.S.: As a client player, you can find out if a server runs the mod simply by entering /help into the chat console. If the mod is enabled this command will show you a list of all commands that you can use (like starting a missionvote etc.). You can also read section 11 (SERVER COMMANDS FOR REGULAR PLAYERS) in the readme below, it explains which commands are available for players (if the server host enabled them) and how to use them. Basically these are:

 

/players

Displays a list of all players on the server and their corresponding IDs

 

/votekick:ID (example: /votekick:3)

Starts a votekick against the player with the specified ID

 

/missions

Displays a list of all missions available on the server and their corresponding IDs

 

/votemiz:ID (example: /votemiz:5)

Starts a missionvote for the mission with the specified ID

 

/mizpoll

Starts a missionpoll that lets all players vote for their favorite next mission.

 

/info

Shows a list of ServMan functionalities that are enabled on this server.

 

/help

Shows a list of all player commands that are enabled on this server.

 

/rules

Shows the list of server rules.

 

/resume

Lets players resume the current mission if it is paused.

 

/timeleft

Displays the remaining time until the current mission will be restarted automatically or the next mission will be loaded (if enabled).

 

/report:msg

Sends a private message 'msg' to the server admin (if the chatlog is enabled)

 

To use a command you simply enter it into the chat console.

 

-------

CHANGELOG

 

Changes in v2:

- added compatibility with BS v1.0.1

- added automatic kicking for team-damaging human players

- added reporting/logging of team collisions

- added manual name banning

- added selective message sending to single players (no more message flooding)

- added support for other languages (German localization included)

- added kicking for high average ping

- added /report command

- added a new option that forces players to wait x minutes before they can start another votekick or missionvote/-poll

- added additional checks to make sure that the logic which checks teamkills distinguishes human and AI players correctly

- changed event triggering to use new on_process() API-callback, no more use of player ping and chat

- fixed a bug where the kick counter would be increased too much when more than one kick rule applied to the same event

- reactivated screenshot message to get rid of the "Unknown command: /mybad" message

- fixed a logic bug where a human player with name "" could be mistaken as AI. Empty names are now banned by default

- fixed the problem that the mod had to be uninstalled before playing as client

ServMan_v2.zip

ServMan_v2_ModMan_compatible.zip

ServMan_v2_ReadMe.txt


Edited by Acedy
  • Like 2
Link to comment
Share on other sites

  • Replies 112
  • Created
  • Last Reply

Top Posters In This Topic

oh man, that's going to kick some serious asses. It might well be a very handy mod to build up online community too. Hahaha the logo is so cool XD

 

Thanks!


Edited by Distiler

AMD Ryzen 1400 // 16 GB DDR4 2933Mhz // Nvidia 1060 6GB // W10 64bit // Microsoft Sidewinder Precision 2

Link to comment
Share on other sites

Got it up and running can anyone confirm I am showing up correctly... RWCS server -w- Ventrillo (74.***.***.**:10308) I'm hoping this somehow fixes that port error some of us have encountered


Edited by Yoti980

CARRIER AIR WING EIGHT

 

[sIGPIC][/sIGPIC]



BLACKLION 204

F-14D BuNo 163159

Fighter Squadron Two One Three

LCDR James "Rat" Trapp

http://www.cvw-8.org

Link to comment
Share on other sites

Very nice release, thanks so much. I have it running on my small coop server. Its so great to have maps rotated and mission automatically unpaused, BS needed this so bad. Greatest mod for it so far. I really appreciated it! You made being an admin/runnin a server 100x easier!

Link to comment
Share on other sites

Fantastic joob!!!

 

I have installed in Escuadron69 BS Server and run well ;). Only dont work one thing:

 

I add one subadmin, fo example:

 

["korrea"]="hola",

 

My name in DCS is korrea and when I connect to server and execute this command:

 

/login:hola

 

the server say Login failed! What happen?? Can anyone help me??

 

Thanks for all!!!

Link to comment
Share on other sites

Acedy, I have found a little ''bug'' in the server.lua, when we vote for mission.

 

Example :

 

When we configure a big pourcentage for a votemiz (don't try with votekick), something like 90% to change the map, and there's only 1 man connected, the mission cannot be change.

 

This could append only if 10 players join the server and all want to change the mission. effectively, the server is always counted in the number of players, but server is not a real player... it's worse if we said that we can change the if 100% of the player have to be OK for that cause this couldn't be the case because of the non response of the server.

 

So to avoid this problem I've started to count the ''player_count'' to -1. By doing this, when the server start to count the players it doesn't count itself as a player.

 

And now with just 1 player connected and a pourcentage greater than 50%, the only one player can change the map. This is very usefull if someone loged in and the mission is already finish and the rotation doesn't arrived before some hours...

 

As i said, I haven't tryed for votekick... may be the same problem...


Edited by yeepeekai

[sIGPIC][/sIGPIC]

 

And... Hum... Sorry for my english...

Link to comment
Share on other sites

Fantastic joob!!!

 

I have installed in Escuadron69 BS Server and run well ;). Only dont work one thing:

 

I add one subadmin, fo example:

 

["korrea"]="hola",

 

My name in DCS is korrea and when I connect to server and execute this command:

 

/login:hola

 

the server say Login failed! What happen?? Can anyone help me??

 

Thanks for all!!!

 

It's case sensitive for info.

[sIGPIC][/sIGPIC]

 

And... Hum... Sorry for my english...

Link to comment
Share on other sites

You may need to refresh configuration data using ./reinit as host/admin (at least for the first created subadmin).

 

OMG!! :thumbup::thumbup:

 

Sorry, after I make a question I read this in manual:chair:

 

Thank you!!!!

Link to comment
Share on other sites

BTW, This is such an amazing addition to the game that it should be posted in general discussion and mods forum. Yes that's excessive but this mod truly is something that should of been shipped with the game, its that good. It has made having a server so much easier to maintain and hands free. Just blows my mind how good this is! keep up good work!

Link to comment
Share on other sites

Hey Acedy.

 

So this tool can be run on a remote server?

 

You call it Pseudo Dedicated Server version. Will it run without GUI when installed on a remote server?

Does it only need the BlackShark files to run without running Black Shark itself?

 

Maybe we can run this discussion also in the German forum?

 

Great invention you made as far as I can see it right now. :thumbup:

Link to comment
Share on other sites

Hey Acedy.

 

So this tool can be run on a remote server?

 

You call it Pseudo Dedicated Server version. Will it run without GUI when installed on a remote server?

Does it only need the BlackShark files to run without running Black Shark itself?

 

Maybe we can run this discussion also in the German forum?

 

Great invention you made as far as I can see it right now. :thumbup:

 

You still need to fully run the game on a remote server, but you can lower resolution, graphic options, etc. This tool will let you control it via in-game chat as a remote client: change mission, kick players, polls, etc. So it's like a dedicated server, but still using graphical engine.


Edited by Distiler
  • Like 1

AMD Ryzen 1400 // 16 GB DDR4 2933Mhz // Nvidia 1060 6GB // W10 64bit // Microsoft Sidewinder Precision 2

Link to comment
Share on other sites

Thanks alot for your support fellas! :)

 

Fantastic joob!!!

 

I have installed in Escuadron69 BS Server and run well ;). Only dont work one thing:

 

I add one subadmin, fo example:

 

["korrea"]="hola",

 

My name in DCS is korrea and when I connect to server and execute this command:

 

/login:hola

 

the server say Login failed! What happen?? Can anyone help me??

 

Thanks for all!!!

 

Yes, like Distiler said, if you changed the configuration file at runtime you have to reload it, either by using /reinit, loading a new mission or restarting the server. Besides that what can also cause this command to fail is when you, in BS's multiplayer options, accidentally add a whitespace character (like a tabulator for example) after your name. We had this "problem" once during beta testing, so I just mention it here. You won't see the whitespace in BS's options menu, only when you look into the logfiles (it will look like '"xyz " entered the game'), but the mod compares "xyz " with "xyz" and obviously they don't match, so the login fails.

 

Acedy, I have found a little ''bug'' in the server.lua, when we vote for mission.

 

Example :

 

When we configure a big pourcentage for a votemiz (don't try with votekick), something like 90% to change the map, and there's only 1 man connected, the mission cannot be change.

 

This could append only if 10 players join the server and all want to change the mission. effectively, the server is always counted in the number of players, but server is not a real player... it's worse if we said that we can change the if 100% of the player have to be OK for that cause this couldn't be the case because of the non response of the server.

 

So to avoid this problem I've started to count the ''player_count'' to -1. By doing this, when the server start to count the players it doesn't count itself as a player.

 

And now with just 1 player connected and a pourcentage greater than 50%, the only one player can change the map. This is very usefull if someone loged in and the mission is already finish and the rotation doesn't arrived before some hours...

 

As i said, I haven't tryed for votekick... may be the same problem...

 

Yes I know about this issue. The reason why the logic is like this is that the server host might also want to play and vote, so I count him as a player. Therefore if you run a dedicated server you have to lower the value somewhat. Maybe I will add an option in the next version that let's you decide if the server should count as a player or not. Personally I would not set the value higher than 50% anyway, I mean people can vote "no" if they don't want a mapchange, the option has been added (on Distiler's suggestion) mainly to prevent that a single player can exploit votes when the others are busy with flying, but in principle if you don't vote this means that you have no opinion and you will have to face the consequences, just like in RL. And when you set it to 50% then, if only one player is present (besides the server), he can still use votes to change the mission.

 

BTW, This is such an amazing addition to the game that it should be posted in general discussion and mods forum. Yes that's excessive but this mod truly is something that should of been shipped with the game, its that good. It has made having a server so much easier to maintain and hands free. Just blows my mind how good this is! keep up good work!

 

Thanks for your kind words! Well I didn't want to spam the forums with announcements (I added it to the mods list though), but if you like it I sure wouldn't delete/move a topic in the main section... ;)

 

QFT, anyway of getting it into the 1.01 patch Acedy?

 

No, I don't think so, at least at the moment, the current version has a few issues, mainly that you have to uninstall it before joining another server as a client, otherwise the mod produces Lua errors. Although it is possible to change that, and I may do it for the next version, but there are some other internal quirks, and I guess ED programmers will also have a good laugh at some of my amateurish coding constructions. ;) I am new to Lua, despite being lean it is a powerful language and I did not delve into some of the more advanced features which may allow you to implement certain things in a simpler and more elegant way.

 

Hey Acedy.

 

So this tool can be run on a remote server?

 

You call it Pseudo Dedicated Server version. Will it run without GUI when installed on a remote server?

Does it only need the BlackShark files to run without running Black Shark itself?

 

Maybe we can run this discussion also in the German forum?

 

Great invention you made as far as I can see it right now. :thumbup:

 

Again like Distiler said, no, you have to run Black Shark normally, with the GUI, 3D world rendering and all. The reason why I call it a "pseudo-dedicated" server (take that cum grano salis) is that the mod gives you some admin tools, which dedicated servers usually provide and that various players have requested here and there. However, it does not enable a full-fledged dedicated server mode of course, this is something that probably requires a good deal of engine modifications, and I doubt that it can be done by a mod.

 

You still need to fully run the game on a remote server, but you can lower resolution, graphic options, etc. This tool will let you control it via in-game chat as a remote client: change mission, kick players, polls, etc. So it's like a dedicated server, but still using graphical engine.

 

Exactly, and apart from the tricks you mention there is another thing that you can do to increase server performance, which has been suggested by AlphaInfinity. You can make the server switch to the F10 map view automatically on mission start (given that it is enabled in the missions options), that way it only renders the 2D map instead of the 3D world. I did not include this option in the mod since it requires to edit the export.lua script, and I didn't want to do that for only one feature, simply because some people/squadrons use that script for other purposes like stats tracking or running TacView. However the readme explains in section 8 h) how you can enable this feature yourself.


Edited by Acedy
Link to comment
Share on other sites

i really cant say enough Acedy, it is so amazing that my squad can now fly whatever mission they want and pause, resume tend to the server without me there! Its just so awesome!!!! thank you so much for this great tool! and it automatically rotates missions and if they dont like it, vote for a new one!!! half of my missions could not be played because they are time sensitive missions but now they can be played because i dont have to worry about enemies getting to the base.... i have it set for the server to pause unless there are players!!!! The Sub admins is the greatest idea ever! this Tool is just the coolest!!! thank you thank you THANK you one million times :D


Edited by graywo1fg

4w24cLi.png?4

Voice of Jester AI

Death From Above =DFA= Squadron Discord - https://discord.gg/deathfromabove

http://www.twitch.tv/graywo1f

https://www.youtube.com/user/Lonewo1fg

Link to comment
Share on other sites

  • Recently Browsing   0 members

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