Jump to content

[Insane Limits V0.9.8.0] [0.2.1.1 Reserve Slot for Server Starter]


ImportBot

Recommended Posts

Originally Posted by supermillhouse*:

 

My name is still in the ReservedSlot List, and I don't understand what do you mean by "date" bits. You mean the log/txt file that is made by this plugin?

 

PS: I have accepted your friend request.

Yes, the one that is in the bf4 folder. Delete your name out of it if it is there, the bit just after your name is the date when you were added and and a number between ":" and dates are the number of days you have left and the last date is used by remove from reserve slot limit.

 

 

Sent from my iPad using Tapatalk

* Restored post. It could be that the author is no longer active.
Link to comment
  • Replies 190
  • Created
  • Last Reply

Originally Posted by kcuestag*:

 

Yes, the one that is in the bf4 folder. Delete your name out of it if it is there, the bit just after your name is the date when you were added and and a number between ":" and dates are the number of days you have left and the last date is used by remove from reserve slot limit.

 

 

Sent from my iPad using Tapatalk

Ok I deleted my name (And date and days left) from that text file, rebooting the layer to see if it helped.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by supermillhouse*:

 

Ok I deleted my name (And date and days left) from that text file, rebooting the layer to see if it helped.

That list contains information of players eligible for a reserve slot, you or your clan or permanently reserved players should never appear in the list, if they do it is probably because of a failed tag fetch. There is not much I can do to stop this, unless you whitelist by player name instead.

 

 

Sent from my iPad using Tapatalk

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

Originally Posted by kcuestag*:

 

That list contains information of players eligible for a reserve slot, you or your clan or permanently reserved players should never appear in the list, if they do it is probably because of a failed tag fetch. There is not much I can do to stop this, unless you whitelist by player name instead.

 

 

Sent from my iPad using Tapatalk

Okay, that worked, thank you!!

 

I'll keep it in mind in case it happens again, thanks for the help!

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

Originally Posted by OddJob001*:

 

Awesome idea for a script.

 

Questions

 

1 - Will the person get a yell immediately after they are added, or only on their next join of the server?

2 - How exactly does this get copied to the reservedlist.txt on the server layer and will it overwrite it or just add to it?

 

 

Edit: Can I change this:

 

//check if server population is more than 4

if ((totaltcount >= 4) && (totaltcount

//if server population is less than 4 then delete temp file if it exists

else if(totaltcount

to this,

//check if server population is more than 1

if ((totaltcount >= 1) && (totaltcount

//if server population is less than 1 then delete temp file if it exists

else if(totaltcount

without other issues?

 

Lastly, is there a way to avoid this:

gives them a potential 5 days on the reserve slot but the slot is not given to them yet.

and make it so they get a reserve slot immediately not if they log in again?

 

Thanks!

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

Originally Posted by supermillhouse*:

 

1 - Will the person get a yell immediately after they are added, or only on their next join of the server?

They get a yell when they are given a slot, so it would be the second time.

 

2 - How exactly does this get copied to the reservedlist.txt on the server layer and will it overwrite it or just add to it?

I'm assuming you mean the game server reserve list, it just adds to it.

Server commands:

plugin.ServerCommand("reservedSlotsList.add", rescount[0]);

plugin.ServerCommand("reservedSlotsList.save");

 

 

//check if server population is more than 4

if ((totaltcount >= 4) && (totaltcount

//if server population is less than 4 then delete temp file if it exists

else if(totaltcount

 

//check if server population is more than 1

if ((totaltcount >= 1) && (totaltcount

//if server population is less than 1 then delete temp file if it exists

else if(totaltcount

Cant see the point in doing this but there should be no problem.

 

get a reserve slot immediately not if they log in again?

This would be a rewrite so it is not quick and easy.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by OddJob001*:

 

I'm assuming you mean the game server reserve list, it just adds to it.

Server commands:

plugin.ServerCommand("reservedSlotsList.add", rescount[0]);

plugin.ServerCommand("reservedSlotsList.save");

Thank you for your answers. This one still baffles me. We have been running this script for about the last day or two. Testing it with enough people that I can see it adding people to the ReserveList_IP_port.txt list. However when I check the actual reserveredslotlist.txt on the server side, it does not see any of these people. Does this script only work for servers that have both procon and the server, but separate them by a layer/port?

 

Our current GSP is NFO, but the Procon layer is with GameServers. So far it does add people that ReserveList_IP from above, but the names never actually get moved over to the server reserved list.

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

Originally Posted by supermillhouse*:

 

If you look in, logs/insane limits/something dump.txt it should contain all the names of the players eligible, if they have been added to the server reserve slot the name should say something like so many days left on the reserve list. If they are not added it will say something about a no show, both should have a day quantity.

 

 

Sent from my iPad using Tapatalk

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

Originally Posted by OddJob001*:

 

If you look in, logs/insane limits/something dump.txt it should contain all the names of the players eligible, if they have been added to the server reserve slot the name should say something like so many days left on the reserve list. If they are not added it will say something about a no show, both should have a day quantity.

 

 

Sent from my iPad using Tapatalk

For whatever reason, people were getting added to the reservelist.txt on the procon layer, after 2 days of helping the server (as expected). But the names from that list didnt get transferred to the reservedlist.txt on the NFO (GSP layer) until the next day. I would guess something on the way of how NFO manages information from Procon. Works exactly how we want it to. Thank you.

 

Cheers.

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

Originally Posted by Tomgun*:

 

yo millhouse, ya reckon you could get this to talk to multibalancer and put there names on the friends list aswell so as an extra gift they dont get balanced if you set up the multibalancer plugin properly

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

Originally Posted by supermillhouse*:

 

yo millhouse, ya reckon you could get this to talk to multibalancer and put there names on the friends list aswell so as an extra gift they dont get balanced if you set up the multibalancer plugin properly

I'm assuming you mean update the multibalancer's whitelist with the reserve slot people from this limit? Just double checking.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by supermillhouse*:

 

yeah that it, it will give them team balance friends list for the 7 days also

this is only possible if I can get this officially implemented

 

check out this post* and later ones.

 

I have modified my copy of insane limits to get it to work but I don't know how safe it is. The limit created would have to manage the entire list, as I don't believe it is possible to read the whitelist, only overwrite it. But this shouldn't be a problem.

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

Originally Posted by Tomgun*:

 

over writing it is fine for now as I have nobody on the friends list so you could put that limit up and state it overwrites the list please

 

great work :smile:

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

Originally Posted by supermillhouse*:

 

over writing it is fine for now as I have nobody on the friends list so you could put that limit up and state it overwrites the list please

 

great work :smile:

I will put the limit up if PC9 update the plugin. If it comes to it I can send you my insane limits mod but I would rather have it done officially.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by supermillhouse*:

 

yo millhouse, ya reckon you could get this to talk to multibalancer and put there names on the friends list aswell so as an extra gift they dont get balanced if you set up the multibalancer plugin properly

This one is likely to go on hold for the time being as there will be no introduction of the required command, and I do understand why. I will keep this idea in mind if I come to a point where I learn C# and go for a new plugin myself.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

There's more than one way to go about this. :smile:

 

Try posting a request in the MULTIbalancer plugin thread for a way for other plugins to call MULTIbalancer and get/set the Whitelist. I've already added a way for plugins to set an end-of-round scramble, so why not this?

 

Then you can use the existing plugin.CallOtherPlugin() function in Insane Limits to call it.

 

I said I wouldn't extend Insane Limits, but I never said I wouldn't extend MULTIbalancer. :smile:

 

Getting info will be complicated. You'll have to provide me with the specification of the plugin to call back. You'll have to set up a function that other plugins can call and then pass the class name and method name. Then we need to agree on the JSON string to pass.

 

Setting is much easier. You just need to call either MULTIbalancer.UpdatePluginData or MULTIbalancer.UpdatePluginJSON with a new property name that I will have to add. Details are in post #2 of the MB thread.

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

Originally Posted by supermillhouse*:

 

There's more than one way to go about this. :smile:

 

Try posting a request in the MULTIbalancer plugin thread for a way for other plugins to call MULTIbalancer and get/set the Whitelist. I've already added a way for plugins to set an end-of-round scramble, so why not this?

 

Then you can use the existing plugin.CallOtherPlugin() function in Insane Limits to call it.

 

I said I wouldn't extend Insane Limits, but I never said I wouldn't extend MULTIbalancer. :smile:

 

Getting info will be complicated. You'll have to provide me with the specification of the plugin to call back. You'll have to set up a function that other plugins can call and then pass the class name and method name. Then we need to agree on the JSON string to pass.

 

Setting is much easier. You just need to call either MULTIbalancer.UpdatePluginData or MULTIbalancer.UpdatePluginJSON with a new property name that I will have to add. Details are in post #2 of the MB thread.

Ok, this will at least get it working for multibalancer.
* Restored post. It could be that the author is no longer active.
Link to comment
  • 3 weeks later...

Originally Posted by ToM666*:

 

Hi guys

 

Could somone modify this code from the "server seeder reserved slot script by supermillhouse*" to send no message on 1st spawn and then the reserved slot message on 2nd spawn only?

 

I have xpkillers stats logger using the current 1st spawn slot.

 

Many Thanks

 

ToM

 

 

Code:

if (limit.Activations(player.Name) > 1) return false;

string path = "Logs/InsaneLimits/GUID.log";
if (!Directory.Exists(Path.GetDirectoryName(path))) Directory.CreateDirectory(Path.GetDirectoryName(path));

plugin.Log(path, plugin.R("[%date% %time%] [%p_ct% - %p_n%]     >>EA GUID:    %p_eg%<<         and         >>PB GUID:     %p_pg%<<     and      >>IP:    %p_ip%<<"));
//The thread code below allows me to delay the reward message on first  spawn because directly below this text is a !rules yell. It then yells  the reward message 5 seconds later

//simple yell to start for type !rules for server rules
plugin.SendPlayerMessage(player.Name, "Type !rules for Server Rules");

// Closure bindings for the delegate
string port = server.Port;
string host = server.Host;
string yellMsg = null;
string dir = "Plugins\\BF4\\ReserveList_" +host+ "_" +port+ ".txt";
if(File.Exists(dir))
  {
  //read names on reserve list
  string namecheck = File.ReadAllText(dir);
  //plugin.ConsoleWrite(namecheck);
  //split names on Reserve list at ", "
  string[] resnames = Regex.Split(namecheck, ", ");
  //check each split name 
  foreach (string resname in resnames)
    {
    //split the name at ":" in to array, 1st is player name, 2nd is date  last updated, 3rd can be ignored, was extra code in second check
    string[] rescount = resname.Split(':');
    if (rescount[0] == player.Name)
      {
      if (plugin.GetReservedSlotsList().Contains(rescount[0]))
        {
        int value = Convert.ToInt32(rescount[2]);
        yellMsg = "You have a reserve slot for helping to start the  server, it will expire in approximately "+value+" day(s) unless you help  again.";
        break;
        }
      }
    }
  }

// Thread delegate

ThreadStart AdminYell = delegate  {
//5 second delay before yelling the reward message
  Thread.Sleep(5*1000);
  plugin.SendPlayerYell(player.Name, yellMsg, 5);
  };

// Main thread code
if (yellMsg != null)
  {
  Thread t = new Thread(AdminYell);
  t.Start();
  Thread.Sleep(10);
  }
return false;
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ToM666*:

 

Change first line bit

player.Name > 1

to

player.Name != 2

That should work

 

Sent from my GT-N7000 using Tapatalk

Thanks mate.

 

I've made the changes as instructed.

I'll let you know if it works.

 

Best Regards

 

ToM

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

Originally Posted by HARDCOREBF*:

 

hello , loving that limit , but

is anyone have problem , that when player with "reserved spot" connecting , it kicks out few players even server not full , i having this issue . Any idea ?

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

Originally Posted by supermillhouse*:

 

Has nothing to do with the limit. The limit doesn't do any kicking. Your gripe may be with the reserve slot handling. Blame dice/ ea

 

 

Sent from my iPad using Tapatalk

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

Originally Posted by HARDCOREBF*:

 

I see , can anyone share , if someone was using this for a bit ?

Looks like thats whats happening, reserved player joining , several other getting kicked , will tests for several days and report !

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

Originally Posted by Vasyya*:

 

[15:55:05 22] [insane Limits] Thread(settings): Compiling Limit #1 - Add to Res - OnJoin

[15:55:05 28] [insane Limits] Thread(settings): ERROR: 3 errors compiling Code

[15:55:05 28] [insane Limits] Thread(settings): ERROR: (CS0103, line: 172, column: 47): The name 'players' does not exist in the current context

[15:55:05 28] [insane Limits] Thread(settings): ERROR: (CS0103, line: 196, column: 57): The name 'host' does not exist in the current context

[15:55:05 28] [insane Limits] Thread(settings): ERROR: (CS0103, line: 196, column: 68): The name 'port' does not exist in the current context

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

Originally Posted by PapaCharlie9*:

 

[15:55:05 22] [insane Limits] Thread(settings): Compiling Limit #1 - Add to Res - OnJoin

[15:55:05 28] [insane Limits] Thread(settings): ERROR: 3 errors compiling Code

[15:55:05 28] [insane Limits] Thread(settings): ERROR: (CS0103, line: 172, column: 47): The name 'players' does not exist in the current context

[15:55:05 28] [insane Limits] Thread(settings): ERROR: (CS0103, line: 196, column: 57): The name 'host' does not exist in the current context

[15:55:05 28] [insane Limits] Thread(settings): ERROR: (CS0103, line: 196, column: 68): The name 'port' does not exist in the current context

Looks like you didn't copy all the code when you pasted. Just try doing it again. Start over from limit #1 first_check and repaste all the code, then do the same for limit #1 second_check.
* Restored post. It could be that the author is no longer active.
Link to comment
  • 1 month later...

Originally Posted by exxerich*:

 

my server didnt add starters to the reserved slot list...

 

Here my Settings:

 

Screenshot (10).png

 

Here my code:

 

Limit #1

First Check:

 

List players = new List();

players.AddRange(team1.players);

players.AddRange(team2.players);

if (team3.players.Count > 0) players.AddRange(team3.players);

if (team4.players.Count > 0) players.AddRange(team4.players);

 

int RSThresh = 5; //When the player should get a reserve slot, when he has this number of days or more.

int numoftemps = 10; //Number of players to be copied to reserve list

int triggertransfer = 20; //When the players list is copied over

int RSCap = 30; //Max number of reserve slot days

int rewarddays = 5; //Number of days rewarded for helping to start the server once

int totaltcount = server.PlayerCount;

int i = 0;

string port = server.Port;

string host = server.Host;

string dir = "Plugins\\BF4\\TempList_" +host+ "_" +port+ ".txt";

string done = "Plugins\\BF4\\Done_" +host+ "_" +port+ ".txt";

string logdir = "Logs\\InsaneLimits\\ReserveList_" +host+ "_" +port+ "dump_file.txt";

if (!Directory.Exists(Path.GetDirectoryName(logdir))) Directory.CreateDirectory(Path.GetDirectoryName(lo gdir));

 

List listofplayers = new List();

 

foreach (PlayerInfoInterface p in players)

{

listofplayers.Add(p.Name);

}

 

 

//check if server population is more than 4

if ((totaltcount >= 4) && (totaltcount

//if server population is less than 4 then delete temp file if it exists

else if(totaltcount

{

if (File.Exists(dir)) File.Delete(dir);

if (File.Exists(done)) File.Delete(done);

}

//check if server population is more than 10 then transfer to ReserveList

else if((totaltcount > triggertransfer) && (File.Exists(dir)))

{

 

int runcount = 0;

 

if(File.Exists(dir))

{

//read names on temp list

string namecheck = File.ReadAllText(dir);

//split names on temp list at ", "

string[] tempnames = Regex.Split(namecheck, ", ");

//check each split name and add to reserve slot list

foreach (string tempname in tempnames)

{

//split the name at ":" in to array, 1st is player name, 2nd is date last updated

string[] tempcount = tempname.Split(':');

if ((listofplayers.Contains(tempcount[0]) && runcount

{runcount++;

plugin.ConsoleWrite(tempname);

DateTime now = DateTime.Now;

string datestring = now.ToString("d");

 

string dir2 = "Plugins\\BF4\\ReserveList_" +host+ "_" +port+ ".txt";

if(File.Exists(dir2))

{

//read names on reserve list

string resnamecheck = File.ReadAllText(dir2);

plugin.ConsoleWrite(resnamecheck);

//split names on temp list at ", "

string[] resnames = Regex.Split(resnamecheck, ", ");

//finds last entry

string reslastitem = resnames[resnames.Length - 1];

//check each split name that is in the reserve list and updates if it is in the temp list

foreach (string resname in resnames)

{

//split the reserve name at ":" in to array, 1st is player name, 2nd is the last date participated in seeding, 3rd is the number of days reward if he is on the reserve list, 4th is a date used for expiry

//the 4th entry is used to subtract 1 digit a day off of the 3rd entry

string[] rescount = resname.Split(':');

//checks if the reserve name equals the player name in temp

if (rescount[0] == tempcount[0])

{

//stops multiple rewards per day

if(rescount[1] != datestring)

{

//add on the reward

int value = Convert.ToInt32(rescount[2]);

value = value + rewarddays;

//cap the reserve slot days at RSCap

if (value > RSCap) value = RSCap;

//save the new data

string newlist = resnamecheck.Replace(resname, rescount[0]+":"+ datestring +":"+value.ToString()+":"+rescount[3]);

File.WriteAllText(dir2, newlist);

//adds player to reserve slot if the have helped enough and are not on it.

if (value >= RSThresh)

{

if (!plugin.GetReservedSlotsList().Contains(rescount[0]))

{

plugin.ServerCommand("reservedSlotsList.add", rescount[0]);

plugin.ServerCommand("reservedSlotsList.save");

plugin.PRoConChat(rescount[0] + " got added to ReserveSlot successfully with " + value.ToString() + " day(s) remaining.");

plugin.Log(logdir, rescount[0] + " got added to the ReserveSlot successfully with " + value.ToString() + " day(s) remaining.");

}

//message player

plugin.SendPlayerYell(rescount[0], rescount[0] + ": You have been awarded a reserve slot for helping to start the server, it will expire in approximately "+value+" days unless you help again.", 5);

}

}

//notify you that a player tried to help twice or more on a day to start server

else {plugin.ConsoleWrite(rescount[0] + " helped on the same day with no second reward.");}

break;

}

//if not in reserve list adds player and info to end of list.

else if (resname == reslastitem)

{

string newlist = resnamecheck + ", " + tempcount[0] +":" + datestring +":"+ rewarddays +":"+ datestring;

File.WriteAllText(dir2, newlist);

plugin.PRoConChat("New Player," + tempcount[0] + "added to end of the reserve slot list.");

plugin.Log(logdir, "New Player," + tempcount[0] + "added to end of the reserve slot list with " + rewarddays.ToString() + " day(s) remaining.");

}

}

}

//if reserve list doesnt exist, creates list with first entry

else

{

string newlist = "Blank, "+tempcount[0] +":"+ datestring +":"+ rewarddays +":"+ datestring;

File.WriteAllText(dir2, newlist);

plugin.PRoConChat("Reserve slot list created with first player," + tempcount[0] + ".");

plugin.Log(logdir, "Reserve slot list created with first player," + tempcount[0] + ".");

}

}

else if (runcount >= numoftemps)break;

}

}

//deletes temp list after transfer to reserve list

File.Delete(dir);

File.WriteAllText(done, "DONE");

}

 

return false;

 

Limit #1

Second Check:

 

List players = new List();

players.AddRange(team1.players);

players.AddRange(team2.players);

if (team3.players.Count > 0) players.AddRange(team3.players);

if (team4.players.Count > 0) players.AddRange(team4.players);

 

string port = server.Port;

string host = server.Host;

 

foreach (PlayerInfoInterface p in players)

{

// New tag extraction code by PapaCharlie9

String tag = p.Tag;

 

if (String.IsNullOrEmpty(tag)) {

// Maybe they are using [_-=]XXX[=-_]PlayerName[_-=]XXX[=-_] format

Match tm = Regex.Match(p.Name, @"^[=_\-]*([^=_\-]{2,4})[=_\-]");

if (tm.Success) {

tag = tm.Groups[1].Value;

} else {

tm = Regex.Match(p.Name, @"[^=_\-][=_\-]([^=_\-]{2,4})[=_\-]*$");

if (tm.Success) {

tag = tm.Groups[1].Value;

} else {

tag = String.Empty;

}

}

}

 

//This stops your clan members and any other clan friends in the "Res" list being added to the reward and them possibly later getting removed

 

if ((!plugin.isInList(p.Name, "Res")) && (!plugin.isInList(tag, "Res")))

{

string dir = "Plugins\\BF4\\TempList_" +host+ "_" +port+ ".txt";

if(File.Exists(dir))

{

string namecheck = File.ReadAllText(dir);

// plugin.ConsoleWrite(namecheck);

string[] tempnames = Regex.Split(namecheck, ", ");

string templastitem = tempnames[tempnames.Length - 1];

//stops the names being repeatedly entered in to the list every time it runs

foreach (string tempname in tempnames)

{

string[] tempcount = tempname.Split(':');

if (tempcount[0] == p.Name)

{

break;

}

else if (tempname == templastitem)

{

//add new player

plugin.ConsoleWrite("Templist New Player: " + p.FullName);

DateTime now = DateTime.Now;

string datestring = now.ToString("d");

string newlist = namecheck + ", " + p.Name +":" + datestring;

File.WriteAllText(dir, newlist);

}

}

}

else

{

//create new temp file with player

plugin.ConsoleWrite("Tempfile New Player: " + p.FullName);

DateTime now = DateTime.Now;

string datestring = now.ToString("d");

string newlist = "Blank, "+p.Name +":"+ datestring;

File.WriteAllText(dir, newlist);

}

}

}

return false;

 

Limit #2

First Check:

 

int RSOffThresh = 0; //Remove Reserve slot on number of days

int RSDellThresh = -1; //Remove from Reserve list on number of days

 

string port = server.Port;

string host = server.Host;

string dir = "Plugins\\BF4\\ReserveList_" +host+ "_" +port+ ".txt";

if(File.Exists(dir))

{

string namecheck = File.ReadAllText(dir);

plugin.ConsoleWrite(namecheck);

string[] resnames = Regex.Split(namecheck, ", ");

DateTime now = DateTime.Now;

string datestring = now.ToString("d");

foreach (string resname in resnames)

{

if (resname != "Blank")

{

string[] rescount = resname.Split(':');

if (rescount[3] != datestring)

{

int value = Convert.ToInt32(rescount[2]);

value--;

if ((value == RSOffThresh) && (plugin.GetReservedSlotsList().Contains(rescount[0])))

{

plugin.ServerCommand("reservedSlotsList.remove", rescount[0]);

plugin.ServerCommand("reservedSlotsList.save");

plugin.ConsoleWrite(value.ToString());

namecheck = namecheck.Replace(resname, rescount[0]+":"+ rescount[1] +":"+value.ToString()+":"+ datestring);

plugin.ConsoleWrite(namecheck);

File.WriteAllText(dir, namecheck);

}

else if(value

{

plugin.ConsoleWrite(value.ToString());

namecheck = namecheck.Replace(", "+resname, "");

plugin.ConsoleWrite(namecheck);

File.WriteAllText(dir, namecheck);

}

else

{

plugin.ConsoleWrite(value.ToString());

namecheck = namecheck.Replace(resname, rescount[0]+":"+ rescount[1] +":"+value.ToString() +":"+ datestring);

plugin.ConsoleWrite(namecheck);

File.WriteAllText(dir, namecheck);

}

}

}

}

}

return false;

 

Can anyone help me?

* 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.