Jump to content
  • 0

players can join before server is locked


marv

Question

hello all,

 

i need a bit of help.

 

as the title says my players can join our server before the server is locked. the problem is the following: when players are joining before my server has loaded everything completly it takes the player ages to get into the game and they only see "starting epoch... please wait".

 

so i need some advice if there is a way to make sure that the server is locked before people can join the server. i tried different scheduled #lock timers but the problem is that my server needs different amounts of time to be fully loaded.

 

or alternativly that players get kicked when they join the server in the first 2 minutes after restart. (my server ususally needs something between 75 and 105 seconds to load everything complete, i do not have an ssd)

 

any help is really appreciated. thank you

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

Locking the server any earlier is impossible as stated by dennis_stk, but your second option is possible through scripting. I've made an addon for our server which locks the server, kicks anyone trying to load in, and only unlocks once Epoch is done loading. I can see about sharing it here if you want. Or you can make your own using serverCommand, it is not too hard.

Link to comment
Share on other sites

  • 0

It will work but it will never be accurate because epoch will take longer to load as objects and stuff is added to the database. Use !isNil "EPOCH_diag_fps" to unlock the server once all of the Epoch database stuff is loaded.

Link to comment
Share on other sites

  • 0

It will work but it will never be accurate because epoch will take longer to load as objects and stuff is added to the database. Use !isNil "EPOCH_diag_fps" to unlock the server once all of the Epoch database stuff is loaded.

thanks for the extra info. Am not currently using these.

I have not experienced any issues leaving it open from the start, what did you guys notice to implement this?

Link to comment
Share on other sites

  • 0

It will work but it will never be accurate because epoch will take longer to load as objects and stuff is added to the database. Use !isNil "EPOCH_diag_fps" to unlock the server once all of the Epoch database stuff is loaded.

 

Locking the server any earlier is impossible as stated by dennis_stk, but your second option is possible through scripting. I've made an addon for our server which locks the server, kicks anyone trying to load in, and only unlocks once Epoch is done loading. I can see about sharing it here if you want. Or you can make your own using serverCommand, it is not too hard.

 

first thank you, but can you xplain me how i can do this? i am fairly new to these things and right now i dont have a clue what you mean by this. sorry if i am only at "beginner level" hosting a server :S especially on the red part of your quote.

Link to comment
Share on other sites

  • 0

Here is the script: https://github.com/Silens1/autolock

Just place autolock.pbo and autolock_config.sqf in your @epochhive/addons folder. Then setup your password (serverCommandPassword) in your server config file (sc/config.cfg) and set the same password in autolock_config.sqf.

 

 

thanks for the extra info. Am not currently using these.
I have not experienced any issues leaving it open from the start, what did you guys notice to implement this?

 

Players would get constantly timed out during the loading process for "server not ready" during loading time which can be minutes depending on database size or if redis is restarted. We also had 50+ players trying to simultaneously join at peak times after restarts which seemed to slow down the loading process even more. After adding this, once the server is loaded and unlocked, players can get in right away without delays (other than waiting for the server to unlock of course).

Link to comment
Share on other sites

  • 0

Here is the script: https://github.com/Silens1/autolock

Just place autolock.pbo and autolock_config.sqf in your @epochhive/addons folder. Then setup your password (serverCommandPassword) in your server config file (sc/config.cfg) and set the same password in autolock_config.sqf.

 

 

 

Players would get constantly timed out during the loading process for "server not ready" during loading time which can be minutes depending on database size or if redis is restarted. We also had 50+ players trying to simultaneously join at peak times after restarts which seemed to slow down the loading process even more. After adding this, once the server is loaded and unlocked, players can get in right away without delays (other than waiting for the server to unlock of course).

 

Just tested this on an 8k database. Tried it with postinit 1st then preinit (which was commented out), it doesn't lock the server until the mission has been read (139kb), during this time I connected and start to load in, then it kicked me whilst I was in the Epoch loading screen with bar, although I didn't know it as it froze me on that screen. From a players perspective they would think the server was broken.

 

It actually slowed down loading.

2:03:45 Dedicated host created.
2:03:55 BattlEye Server: Initialized (v1.204)
2:03:55 Host identity created.
2:03:55 Game Port: 3333, Steam Query Port: 3334
2:03:55 Mission Epoch Mod read from directory.
2:03:56 Roles assigned.
2:03:56 Reading mission ...
2:04:35 brian uses modified data file
2:04:35 BattlEye Server: Player #0 brian (**.***.***.***:2366) connected
2:04:35 Player brian connecting.
2:04:35 Game started.
2:04:36 Successfull attempt to execute serverCommand '#lock' by server.
2:04:37 BattlEye Server: Player #0 brian - GUID: *************************** (unverified)
2:05:31 Successfull attempt to execute serverCommand '#kick brian' by server.
2:05:31 Player brianna disconnected.
2:05:31 BattlEye Server: Player #0 brian disconnected
2:06:59 Successfull attempt to execute serverCommand '#unlock' by server.
Link to comment
Share on other sites

  • 0

We use auto initialization (-autoInit in launch parameters), mission is loaded right after server initializes. Far as I know can't lock a server any earlier before it is initialized and loaded (this is the reason why the script waits for epoch to start, to prevent sending the lock command too early).

How does it slow down loading?

I would like to see the full log if you don't mind, so I can see the epoch loading messages, maybe it can be improved.

 

Here's one of our logs, the database is 11MB, not sure how many objects:

19:17:12 "Epoch: Init Compiles"
19:17:12 "SERVER LOCK: Loaded."
19:17:12 "Epoch: Starting ArmA3 Epoch Server, Version 0.3.0.3"
19:17:12 "Epoch: Init Variables"
19:17:12 "Loading config..."
19:17:13 "Epoch: Start Hive, Instance ID: 'Server1'"
19:17:13 "Epoch: Init PublicEH"
19:17:13 "Epoch: Setup Side Settings"
19:17:13 "Epoch: Setup World Settings for Altis"
19:17:13 "Epoch: Set Weather"
19:17:13 Weather was forced to change
19:17:13 "Weather Change: fog: [0.0531277,0.0928229,15.0535] rain: 0.431991 overcast: 0.508046 windx: 3.9044 windz: -5.88424 forced: true"
19:17:13 Successfull attempt to execute serverCommand '#lock' by server.
19:17:13 "Epoch: Loading buildings"
19:17:15 "Epoch: Loading teleports and static props"
19:17:16 "Epoch: Loading NPC traders"
19:17:20 "Epoch: Spawning NPC traders"
19:17:20 "Epoch: Loading vehicles"
19:17:23 "VEH SPAWN TIMER 2.215"
19:17:23 "Epoch: Spawning vehicles"
19:17:23 "Epoch: Loading storage"
19:17:26 "Storage SPAWN TIMER 3.512"
19:17:26 "Epoch: Loading static loot"
19:17:26 "Epoch: Server Start Complete: 14.038 seconds"
19:17:26 "Loaded Server FSM"
19:17:26 Successfull attempt to execute serverCommand '#unlock' by server.
Link to comment
Share on other sites

  • 0

That rpt you got there is very neat.

nothing spawning in? No wonder it's fast.

On our end the vehicles and storage take more than just a second or two, in fact can take up to a minute.

this being a 4500 building object, 2000 storage object database at 9 MB with 243 vehicles on map every restart.

I would like to test this out later on when the isp decides to fix the internet!

Link to comment
Share on other sites

  • 0

 

 _kick_times = ["21:59", "01:59", "05:59", "09:59", "13:59", "17:59"];

That would only work for servers with set specific restart times

Link to comment
Share on other sites

  • 0
On 4.6.2015 at 1:57 AM, Silens said:

Here is the script: https://github.com/Silens1/autolock

Just place autolock.pbo and autolock_config.sqf in your @epochhive/addons folder. Then setup your password (serverCommandPassword) in your server config file (sc/config.cfg) and set the same password in autolock_config.sqf.

Players would get constantly timed out during the loading process for "server not ready" during loading time which can be minutes depending on database size or if redis is restarted. We also had 50+ players trying to simultaneously join at peak times after restarts which seemed to slow down the loading process even more. After adding this, once the server is loaded and unlocked, players can get in right away without delays (other than waiting for the server to unlock of course).

Any can help me with this Script ?

My problem is this Script dont start. RPT Log Say: Script @epochhive\addons\autolock_config.sqf not found, but script is in this folder.

My Server Path is, E:\EpochServer\ and this Script is in E:\EpochServer\@epochhive\addons

Why dont work ? All time Script not found :(

Link to comment
Share on other sites

  • 0

Hey Guys, what sort of delay are we talking here? could anyone with a slow loading server post the top part of there RPT that shows counts and load times? 

Also is the issue that players are timing out while waiting for the server it its just taking too long?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Discord

×
×
  • Create New...