Jump to content

Insane Limits Requests


ImportBot

Recommended Posts

Originally Posted by s1ngular1ty*:

 

Actually he could but i dont know if it would work. Apperantly, im not good enough to code such a hardcore code.

 

Give every player vars example, for 30 mins., set on spawn, loadout codes to check if MAV is being used and start/restart counter everytime its true. Stop counter on death. plus maybe on every death check how many kills he has and at some point use some arithmetics to calculate his kill/MAV use ratio or something.

 

Just an idea really, but practicaly, i wouldnt be able to do all that lol

It can't be done. You can't tell what someone has in their kit when they spawn in InsaneLimits.
* Restored post. It could be that the author is no longer active.
Link to comment
  • Replies 3.2k
  • Created
  • Last Reply

Originally Posted by BuRockK*:

 

It can't be done. You can't tell what someone has in their kit when they spawn in InsaneLimits.

Oh yea, forgot he meant in IL..i was thinking of this in proconrulz (not that all can be done in that either)

 

But what if proconrulz makes a var depending on the "spawn with kit" and have IL check that var onSpawn (i read somewhere you could call vars from other plugins? not sure maybe it was another plugin) ?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by s1ngular1ty*:

 

Oh yea, forgot he meant in IL..i was thinking of this in proconrulz (not that all can be done in that either)

 

But what if proconrulz makes a var depending on the "spawn with kit" and have IL check that var onSpawn (i read somewhere you could call vars from other plugins? not sure maybe it was another plugin) ?

You can't do it unless you write your own plugin. And even then you can't do it easily.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Someone pls tell me how to set a limit for the usage of a command in game.. i didnt understand how to use "double Activations(String PlayerName);" method. How can i check how many times a player used the command?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by s1ngular1ty*:

 

Someone pls tell me how to set a limit for the usage of a command in game.. i didnt understand how to use "double Activations(String PlayerName);" method. How can i check how many times a player used the command?

As an Expression

 

limit.Activations(player.Name) > 2

This returns true or false

 

 

As code

 

if (limit.Activations(player.Name) > 2)

{

//Do Something

}

double Activations(string PlayerName) is a function of the limit object that returns a double (number) that is the number of times a limit has been activated by a player. It requires a string input that is the player's name you want to check.

 

This can only be used in the 2nd check. The limit object is not available in the 1st check.

 

 

Example of it used in a limit

 

myrcon.net/...insane-limits-examples#entry18419

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by DelilerClan*:

 

Double is an 8-byte numeric type. It is used to store large and small values. It also stores fractional values such as 1.5 and negative values such as -1.5.

 

Count is just the name of the variable(double).

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Double is an 8-byte numeric type. It is used to store large and small values. It also stores fractional values such as 1.5 and negative values such as -1.5.

 

Count is just the name of the variable(double).

So im guessing the way double was used in that code was not for numbers with decimals as limit.Activations(playerName) wouldnt have any. Simply used just in case the "count" var would be high? (probably be 64 at max)

 

With these infos you guys given me i did managed to put usage limit on one of my limits and even warnings with every use.

 

But i couldnt test this because IL excludes admins from kick/bans i think

 

 

this didnt work although test msg above it did show up in chat:

Code:

if (limit.Activations(player.Name) > 3) {
    plugin.SendPlayerMessage(player.Name, "test msg");
    plugin.EABanPlayerWithMessage(EABanType.EA_GUID, EABanDuration.Temporary, "player.Name", 15, "banned for using @admin more than 3 times in a round. TempBan 15.min.");
}
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by s1ngular1ty*:

 

So im guessing the way double was used in that code was not for numbers with decimals as limit.Activations(playerName) wouldnt have any. Simply used just in case the "count" var would be high? (probably be 64 at max)

 

With these infos you guys given me i did managed to put usage limit on one of my limits and even warnings with every use.

 

But i couldnt test this because IL excludes admins from kick/bans i think

 

 

this didnt work although test msg above it did show up in chat:

Code:

if (limit.Activations(player.Name) > 3) {
    plugin.SendPlayerMessage(player.Name, "test msg");
    plugin.EABanPlayerWithMessage(EABanType.EA_GUID, EABanDuration.Temporary, "player.Name", 15, "banned for using @admin more than 3 times in a round. TempBan 15.min.");
}
Watch C# videos on youtube please.

 

double limit.Activations(string playerName) is a method that returns a double which is a number. Double is a format for a number. It doesn't matter if the result will have decimals or not. That is irrelevant. They used a double as the return type because it can get larger than an integer (int). You can't pick the return type you want to use because you have to match what the method is returning otherwise your code won't compile because C# is a STRONGLY TYPED language.

 

Double, int, string, etc. are all variable types. You can't store a double into an int in C# without casting (converting) the result. Therefore the variable you use to accept the output of limit.Activations(string playerName) has to be a double unless you cast it to an int somehow. This won't always work because a double can hold larger numbers than an int. This is why C# prevents you from mismatching types without explicitly telling it how to convert one to the other in your code. Because it knows the conversions don't always work.

 

In this code:

 

double count = limit.Activations(player.Name);

 

They are declaring that the variable count is of TYPE double. Then they are setting count equal to the output of limit.Activations(player.Name) which will be a double. Therefore the code complies.

 

You can do this:

 

var count = limit.Activations(player.Name);

 

"var" means C# will infer what TYPE of variable count needs to be based on what TYPE of result the method returns. So C# will automatically set var to a TYPE of double because it knows the method returns a double TYPE.

 

 

When you do :

 

(limit.Activations(player.Name) > 3)

 

You aren't storing the return value of the method anywhere so you don't need a variable like count. This is called an EXPRESSION like I said earlier. It compares the output of the method to the number 3 and returns a true or false bool (boolean) value indicating if the expression is true or false.

 

You could do the same thing this way:

 

double count = limit.Activations(player.Name);

 

if(count > 3)

{

// code here

}

You just aren't understanding how C# works. Which is why I told you to watch some introductory videos on youtube. You must know how C# works to program limits in InsaneLimits unless you want to do it by trial and error which takes way longer.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Watch C# videos on youtube please.

 

When you do :

 

(limit.Activations(player.Name) > 3)

 

You aren't storing the return value of the method anywhere so you don't need a variable like count. This is called an EXPRESSION like I said earlier. It compares the output of the method to the number 3 and returns a true or false bool (boolean) value indicating if the expression is true or false.

Yes and this code should work (partially works). But I still didnt get why eaban part dont work:

 

Code:

if (limit.Activations(player.Name) > 3) {
    plugin.SendPlayerMessage(player.Name, "test msg");  // This works. In game, player gets this msg in chat window when player uses the command more than 3 times in a round
    plugin.EABanPlayerWithMessage(EABanType.EA_GUID, EABanDuration.Temporary, "player.Name", 15, "banned for using @admin more than 3 times in a round. TempBan 15.min."); // But this doesnt work at all. Maybe its because im admin and it dont work on admins in IL by default_
}
Im gonna start taking C# course in couple of weeks or a week at minimum. This will clear alotta things up for me
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by s1ngular1ty*:

 

Yes and this code should work (partially works). But I still didnt get why eaban part dont work:

 

Code:

if (limit.Activations(player.Name) > 3) {
    plugin.SendPlayerMessage(player.Name, "test msg");  // This works. In game, player gets this msg in chat window when player uses the command more than 3 times in a round
    plugin.EABanPlayerWithMessage(EABanType.EA_GUID, EABanDuration.Temporary, "player.Name", 15, "banned for using @admin more than 3 times in a round. TempBan 15.min."); // But this doesnt work at all. Maybe its because im admin and it dont work on admins in IL by default_
}
Im gonna start taking C# course in couple of weeks or a week at minimum. This will clear alotta things up for me
Remove the quotes from player.Name. Also your message is way too long. They won't see it all.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Remove the quotes from player.Name. Also your message is way too long. They won't see it all.

Oh, i was using the format based on the examples i saw in Details of plugin

 

/*

* Examples:

*

* KickPlayerWithMessage(""micovery"" , ""Kicked you for team-killing!"");

* EABanPlayerWithMessage(EABanType.EA_GUID, EABanDuration.Temporary, ""micovery"", 10, ""You are banned for 10 minutes!"");

* PBBanPlayerWithMessage(PBBanDuration.Permanent, ""micovery"", 0, ""You are banned forever!"");

* ServerCommand(""admin.listPlayers"", ""all"");

*/

 

I didnt think player.Name replacing with an actual player name was gonna make difference when i saw the quotes. This is why i need to take a C# course soon

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by windorose*:

 

Hi

 

 

I'm looking to have Insane Limits log all player who activate a limit and give positive or negative rep points on ADKATS DB(depending on the limit that has been activated).

 

And it possible to activate or desactivate a limits depanding on map or on mod (one of them).

 

thank you

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Hello, can someone tell me out to convert a TimeSpan to a more readable version like just a number that is set either it is a number for "minutes" or for "seconds?

 

ive made this TimeSpan and the limit is working just the way i wanted overall. but i cannot output the TimeSpan number as a plain number without the dots

 

for example:

it would normally output 00.00.05.00.00 (00 day:00 hours:05 minutes:00 seconds:00 miliseconds) but i need the output as "5" instead..

 

Heres where my problem accurs:

Code:

TimeSpan usedelayAdminLimit = new TimeSpan(0, 0, 5, 0, 0);
Code:
double usenumindelay = limit.Activations(player.Name, usedelayAdminLimit);

        if (usenumindelay > 1) {
            plugin.SendPlayerMessage(player.Name, plugin.R("You can only use this command every usedelayAdminLimit mins."));
In the message to player, "usedelayAdminLimit" shows as plain text. Probably because its a TimeSpan var?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Hello, can someone tell me out to convert a TimeSpan to a more readable version like just a number that is set either it is a number for "minutes" or for "seconds?

 

ive made this TimeSpan and the limit is working just the way i wanted overall. but i cannot output the TimeSpan number as a plain number without the dots

 

for example:

it would normally output 00.00.05.00.00 (00 day:00 hours:05 minutes:00 seconds:00 miliseconds) but i need the output as "5" instead..

 

Heres where my problem accurs:

Code:

TimeSpan usedelayAdminLimit = new TimeSpan(0, 0, 5, 0, 0);
Code:
double usenumindelay = limit.Activations(player.Name, usedelayAdminLimit);

        if (usenumindelay > 1) {
            plugin.SendPlayerMessage(player.Name, plugin.R("You can only use this command every usedelayAdminLimit mins."));
In the message to player, "usedelayAdminLimit" shows as plain text. Probably because its a TimeSpan var?
I found the way to convert TimeSpan to output a plain number ie: 5 mins. instead of 0:0:5:0:0 with TimeSpan.totalMinutes

 

but i still couldnt find a way to send a msg to player with an int variable in the message.

 

example..

 

this works:

plugin.SendPlayerYell(p.Name, plugin.R("player.Name requested ADMIN"), 12);

 

but this doesnt:

plugin.SendPlayerMessage(player.Name, plugin.R("You can only use this command every totalmins mins."));

 

totalmins is basicly "usedelayAdminLimit.TotalMinutes"

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LCARSx64*:

 

I found the way to convert TimeSpan to output a plain number ie: 5 mins. instead of 0:0:5:0:0 with TimeSpan.totalMinutes

 

but i still couldnt find a way to send a msg to player with an int variable in the message.

 

example..

 

this works:

plugin.SendPlayerYell(p.Name, plugin.R("player.Name requested ADMIN"), 12);

 

but this doesnt:

plugin.SendPlayerMessage(player.Name, plugin.R("You can only use this command every totalmins mins."));

 

totalmins is basicly "usedelayAdminLimit.TotalMinutes"

This should give you the result you want:

Code:

TimeSpan usedelayAdminLimit = new TimeSpan(0, 0, 5, 0, 0);
double usenumindelay = limit.Activations(player.Name, usedelayAdminLimit);

if (usenumindelay > 1) plugin.SendPlayerMessage(player.Name, "You can only use this command every " + usedelayAdminLimit.ToString(@"%m") + " mins.");
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

This should give you the result you want:

Code:

TimeSpan usedelayAdminLimit = new TimeSpan(0, 0, 5, 0, 0);
double usenumindelay = limit.Activations(player.Name, usedelayAdminLimit);

if (usenumindelay > 1) plugin.SendPlayerMessage(player.Name, "You can only use this command every " + usedelayAdminLimit.ToString(@"%m") + " mins.");
It says "No overload for method 'ToString' takes '1' arguments"
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by s1ngular1ty*:

 

It says "No overload for method 'ToString' takes '1' arguments"

Make these 2 changes

 

Code:

TimeSpan usedelayAdminLimit = new TimeSpan(0, 5, 0);
double usenumindelay = limit.Activations(player.Name, usedelayAdminLimit);

if (usenumindelay > 1) plugin.SendPlayerMessage(player.Name, "You can only use this command every " + usedelayAdminLimit.Minutes.ToString() + " mins.");
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Make these 2 changes

 

Code:

TimeSpan usedelayAdminLimit = new TimeSpan(0, 5, 0);
double usenumindelay = limit.Activations(player.Name, usedelayAdminLimit);

if (usenumindelay > 1) plugin.SendPlayerMessage(player.Name, "You can only use this command every " + usedelayAdminLimit.Minutes.ToString() + " mins.");
Thanks this worked. So now i know how to use variables in msgs.. lol

 

One thing i didnt understand though, what you did in TimeSpan was to discard miliseconds? how can i define which time specification i can discard?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by s1ngular1ty*:

 

Thanks this worked. So now i know how to use variables in msgs.. lol

 

One thing i didnt understand though, what you did in TimeSpan was to discard miliseconds? how can i define which time specification i can discard?

The TimeSpan structure has an overloaded constructor. This means it has several ways of specifying a time span when you initialize it. To see the different options, you can either read Microsoft's documentation or download Visual Studio and test it with simple command line programs. Then you can see all the different constructor options because Intellisense will show you.

 

Microsoft's documentation:

https://msdn.microsoft.com/en-us/lib...vs.110%29.aspx

 

Look at Constructors section.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

The TimeSpan structure has an overloaded constructor. This means it has several ways of specifying a time span when you initialize it. To see the different options, you can either read Microsoft's documentation or download Visual Studio and test it with simple command line programs. Then you can see all the different constructor options because Intellisense will show you.

 

Microsoft's documentation:

https://msdn.microsoft.com/en-us/lib...vs.110%29.aspx

 

Look at Constructors section.

Okay i will

 

Got one more question, i use 2 different limits and they both have commands that start with "[@!]Admin". Example, one is "!Admin" or "@admin" and the other limits command is "!adminlist" or "@adminlist"

 

I think i managed to work this around by using "if (Regex.Match(player.LastChat, @"^\s*[@!]admin[ ]*").Success) {" in the limit that uses !admin command to ensure it doesnt get mixed up with !adminlist. Would this be a better way for every limit you create to be sure no conflicts happen in the future?

* Restored post. It could be that the author is no longer active.
Link to comment
  • 2 weeks later...

Originally Posted by Hodor*:

 

Guys, why i got error?

 

Code:

[02:14:09 98] [Insane Limits] Thread(settings): ERROR: 3 errors compiling Expression
[02:14:09 98] [Insane Limits] Thread(settings): ERROR: (CS1525, line: 53, column: 12):  Unexpected symbol `else'
[02:14:09 99] [Insane Limits] Thread(settings): ERROR: (CS1525, line: 57, column: 12):  Unexpected symbol `else'
[02:14:09 99] [Insane Limits] Thread(settings): ERROR: (CS1525, line: 61, column: 12):  Unexpected symbol `else'
Code:
double count = limit.ActivationsTotal(player.Name);

if (count > 1)
return false;
   
String CC = player.CountryCode;

if (CC.Equals("ru"))
plugin.SendPlayerYell(player.Name, plugin.R ("\nWelcome %p_n%"),10);
else
plugin.SendPlayerMessage(plugin.R("Welcome %p_n%"));
else if (CC.Equals("at"))
plugin.SendPlayerYell(plugin.R("Willkommen %p_n%"));
else
plugin.SendPlayerMessage(plugin.R("Willkommen %p_n%"));
else if(CC.Equals("fr"))
plugin.SendPlayerYell(plugin.R("Bienvenue %p_n%"));
else
plugin.SendPlayerMessage(plugin.R("Bienvenue %p_n%"));
else if (CC.Equals("it"))
plugin.SendPlayerYell(plugin.R("Benvenuto %p_n%"));
else
plugin.SendPlayerMessage(plugin.R("Benvenuto %p_n%"));

return false;
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Guys, why i got error?

 

Code:

[02:14:09 98] [Insane Limits] Thread(settings): ERROR: 3 errors compiling Expression
[02:14:09 98] [Insane Limits] Thread(settings): ERROR: (CS1525, line: 53, column: 12):  Unexpected symbol `else'
[02:14:09 99] [Insane Limits] Thread(settings): ERROR: (CS1525, line: 57, column: 12):  Unexpected symbol `else'
[02:14:09 99] [Insane Limits] Thread(settings): ERROR: (CS1525, line: 61, column: 12):  Unexpected symbol `else'
Code:
double count = limit.ActivationsTotal(player.Name);

if (count > 1)
return false;
   
String CC = player.CountryCode;

if (CC.Equals("ru"))
plugin.SendPlayerYell(player.Name, plugin.R ("\nWelcome %p_n%"),10);
else
plugin.SendPlayerMessage(plugin.R("Welcome %p_n%"));
else if (CC.Equals("at"))
plugin.SendPlayerYell(plugin.R("Willkommen %p_n%"));
else
plugin.SendPlayerMessage(plugin.R("Willkommen %p_n%"));
else if(CC.Equals("fr"))
plugin.SendPlayerYell(plugin.R("Bienvenue %p_n%"));
else
plugin.SendPlayerMessage(plugin.R("Bienvenue %p_n%"));
else if (CC.Equals("it"))
plugin.SendPlayerYell(plugin.R("Benvenuto %p_n%"));
else
plugin.SendPlayerMessage(plugin.R("Benvenuto %p_n%"));

return false;
try brackets { }

 

Code:

if (CC.Equals("ru")) {
    plugin.SendPlayerYell(player.Name, plugin.R ("\nWelcome %p_n%"),10);
    else {
        plugin.SendPlayerMessage(plugin.R("Welcome %p_n%"));
    }
}
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Hodor*:

 

try brackets { }

 

Code:

if (CC.Equals("ru")) {
    plugin.SendPlayerYell(player.Name, plugin.R ("\nWelcome %p_n%"),10);
    else {
        plugin.SendPlayerMessage(plugin.R("Welcome %p_n%"));
    }
}
Still Code:
[16:06:57 64] [Insane Limits] Thread(settings): ERROR: (CS1525, line: 51, column: 16):  Unexpected symbol `else'
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Still Code:

[16:06:57 64] [Insane Limits] Thread(settings): ERROR: (CS1525, line: 51, column: 16):  Unexpected symbol `else'
Im not sure when you want the "SendPlayerMessage" to trigger instead of "SendPlayerYell".
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Hodor*:

 

Im not sure when you want the "SendPlayerMessage" to trigger instead of "SendPlayerYell".

SendPlayerMessage its like admin.say and SendPlayerYell its like admin.yell, so i want both messages for say and yell to player, not global.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

SendPlayerMessage its like admin.say and SendPlayerYell its like admin.yell, so i want both messages for say and yell to player, not global.

Okay you dont need "else" if you want both to be sent. just use both commands

 

Example for players from Russia(RU):

 

Code:

if (CC.Equals("ru")) {
    plugin.SendPlayerYell(player.Name, plugin.R ("\nWelcome %p_n%"),10);
    plugin.SendPlayerMessage(plugin.R("Welcome %p_n%"));
}
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Hodor*:

 

Thanks, no error.

One more thing, how to make a delay between messages Say and Yell? Like 5 sec

 

Code:

double count = limit.ActivationsTotal(player.Name);

if (count > 1)
return false;
   
String CC = player.CountryCode;

if (CC.Equals("ru")) {
    plugin.SendPlayerYell(player.Name, plugin.R ("\nWelcome to our server %p_n%"),10);
    plugin.SendPlayerYell(player.Name, plugin.R ("\nPlease dont forget to read our rules %p_n%"),10);
    plugin.SendPlayerYell(player.Name, plugin.R ("\nGood luck have fun %p_n%"),10);
    plugin.SendPlayerMessage(player.Name, plugin.R("Welcome %p_n%"));
    plugin.SendPlayerMessage(player.Name, plugin.R("Please dont forget to read our rules %p_n%"));
    plugin.SendPlayerMessage(player.Name, plugin.R("Good luck have fun %p_n%"));
}

return false;
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Thanks, no error.

One more thing, how to make a delay between messages? Like 5 sec

 

Code:

double count = limit.ActivationsTotal(player.Name);

if (count > 1)
return false;
   
String CC = player.CountryCode;

if (CC.Equals("ru")) {
    plugin.SendPlayerYell(player.Name, plugin.R ("\nWelcome to our server %p_n%"),10);
    plugin.SendPlayerYell(player.Name, plugin.R ("\nPlease dont forget to read our rules %p_n%"),10);
    plugin.SendPlayerYell(player.Name, plugin.R ("\nGood luck have fun %p_n%"),10);
    plugin.SendPlayerMessage(player.Name, plugin.R("Welcome %p_n%"));
    plugin.SendPlayerMessage(player.Name, plugin.R("Please dont forget to read our rules %p_n%"));
    plugin.SendPlayerMessage(player.Name, plugin.R("Good luck have fun %p_n%"));
}

return false;
You can set delay in SendPlayerMessage command with this prefix:

 

plugin.SendPlayerMessage(player.Name, message, seconds);

 

For yell msgs you would need to set TimeSpan variables. Unfortunitely, im not very familiar with those.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Hodor*:

 

You can set delay in SendPlayerMessage command with this prefix:

 

plugin.SendPlayerMessage(player.Name, message, seconds);

 

For yell msgs you would need to set TimeSpan variables. Unfortunitely, im not very familiar with those.

Me too.. So i still need a help and waiting it
* Restored post. It could be that the author is no longer active.
Link to comment

Archived

This topic is now archived and is closed to further replies.




  • Our picks

    • Game Server Hosting:

      We're happy to announce that EZRCON will branch out into the game server provider scene. This is a big step for us so please having patience if something doesn't go right in this area. Now, what makes us different compared to other providers? Well, we're going with the idea of having a scaleable server hosting and providing more control in how you set up your server. For example, in Minecraft, you have the ability to control how many CPU cores you wish your server to have access to, how much RAM you want to use, how much disk space you want to use. This type of control can't be offered in a single service package so you're able to configure a custom package the way you want it.

      You can see all the available games here. Currently, we have the following games available.

      Valheim (From $1.50 USD)


      Rust (From $3.20 USD)


      Minecraft (Basic) (From $4.00 USD)


      Call of Duty 4X (From $7.00 USD)


      OpenTTD (From $4.00 USD)


      Squad (From $9.00 USD)


      Insurgency: Sandstorm (From $6.40 USD)


      Changes to US-East:

      Starting in January 2022, we will be moving to a different provider that has better support, better infrastructure, and better connectivity. We've noticed that the connection/routes to this location are not ideal and it's been hard getting support to correct this. Our contract for our two servers ends in March/April respectively. If you currently have servers in this location you will be migrated over to the new provider. We'll have more details when the time comes closer to January. The new location for this change will be based out of Atlanta, GA. If you have any questions/concerns please open a ticket and we'll do our best to answer them.
      • 5 replies
    • Hello All,

      I wanted to give an update to how EZRCON is doing. As of today we have 56 active customers using the services offered. I'm glad its doing so well and it hasn't been 1 year yet. To those that have services with EZRCON, I hope the service is doing well and if not please let us know so that we can improve it where possible. We've done quite a few changes behind the scenes to improve the performance hopefully. 

      We'll be launching a new location for hosting procon layers in either Los Angeles, USA or Chicago, IL. Still being decided on where the placement should be but these two locations are not set in stone yet. We would like to get feedback on where we should have a new location for hosting the Procon Layers, which you can do by replying to this topic. A poll will be created where people can vote on which location they would like to see.

      We're also looking for some suggestions on what else you would like to see for hosting provider options. So please let us know your thoughts on this matter.
      • 4 replies
    • Added ability to disable the new API check for player country info


      Updated GeoIP database file


      Removed usage sending stats


      Added EZRCON ad banner



      If you are upgrading then you may need to add these two lines to your existing installation in the file procon.cfg. To enable these options just change False to True.

      procon.private.options.UseGeoIpFileOnly False
      procon.private.options.BlockRssFeedNews False



       
      • 2 replies
    • I wanted I let you know that I am starting to build out the foundation for the hosting services that I talked about here. The pricing model I was originally going for wasn't going to be suitable for how I want to build it. So instead I decided to offer each service as it's own product instead of a package deal. In the future, hopefully, I will be able to do this and offer discounts to those that choose it.

      Here is how the pricing is laid out for each service as well as information about each. This is as of 7/12/2020.

      Single MySQL database (up to 30 GB) is $10 USD per month.



      If you go over the 30 GB usage for the database then each additional gigabyte is charged at $0.10 USD each billing cycle. If you're under 30GB you don't need to worry about this.


      Databases are replicated across 3 zones (regions) for redundancy. One (1) on the east coast of the USA, One (1) in Frankfurt, and One (1) in Singapore. Depending on the demand, this would grow to more regions.


      Databases will also be backed up daily and retained for 7 days.




      Procon Layer will be $2 USD per month.


      Each layer will only allow one (1) game server connection. The reason behind this is for performance.


      Each layer will also come with all available plugins installed by default. This is to help facilitate faster deployments and get you up and running quickly.


      Each layer will automatically restart if Procon crashes. 


      Each layer will also automatically restart daily at midnight to make sure it stays in tip-top shape.


      Custom plugins can be installed by submitting a support ticket.




      Battlefield Admin Control Panel (BFACP) will be $5 USD per month


      As I am still working on building version 3 of the software, I will be installing the last version I did. Once I complete version 3 it will automatically be upgraded for you.





      All these services will be managed by me so you don't have to worry about the technical side of things to get up and going.

      If you would like to see how much it would cost for the services, I made a calculator that you can use. It can be found here https://ezrcon.com/calculator.html

       
      • 11 replies
    • I have pushed out a new minor release which updates the geodata pull (flags in the playerlisting). This should be way more accurate now. As always, please let me know if any problems show up.

       
      • 9 replies
×
×
  • Create New...

Important Information

Please review our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.