Jump to content
  • 0

spawn as bird 1.0.2.1


MassAsster

Question

9 answers to this question

Recommended Posts

  • 0

remove this line from init.sqf

 

 

/* For DayZ Epoch Addons Credits: Jetski Yanahui by Kol9yN, Zakat, Gerasimow9, YuraPetrov, zGuba, A.Karagod, IceBreakr, Sahbazz */ startLoadingScreen ["","RscDisplayLoadCustom"]; cutText ["","BLACK OUT"]; enableSaving [false, false];

Link to comment
Share on other sites

  • 0

I modded my server.pbo to NOT have infected status and haven't had this bug, so that supports your theory.  Have you tried making yourself infected int the database, dying and seeing if it happens?  

 

any help on how to do the same? Although im not sure this is the cause , the players are showing infected = 0

 

 

 

removing that line from init didn't do it either...

Link to comment
Share on other sites

  • 0

It's a bug with arma2 on persistent servers with JIP(Join in progress) players. I have got this on arma2 servers, vanilla dayz, wasteland, takistan life, capture the island, origins, namalsk, epoch, 2017, ACE, and pretty much any modded arma2 server. More so with a mod that communicates and connects with a database to save any type of data that needs to be loaded on a palyer.

 

The bird spawning, is actually a feature that can be turned on for some servers, its armas spectator mode. So from my research, the problem has to do with AI dopplegangers taking up a slot the player that they select on the left hand side of the lobby screen. Basically when a JIP player connects it creates an AI in debug as his place holder, who then has his the player information and database information loaded onto it in a few steps, where the player will get control at some point, load in normally and be able to play. When there is latency issue, or the player is kicked or exits this loading process in the middle of it, it will sometimes bug out, and leave the AI place holder in that slot. This is where the bird problem starts, as when any player tries to join that slot, the AI place holder is still there, in debug, preventing a new placeholder from being spawned, and moves the connecting player to "spectator mode" as it doesn't know where else to put the player (just like if the player did not pick a team side, and left their name greyed out with the gold colored tab, and joined the game with no side, it defaults them to spectator).

 

So what others have done to 'band-aide' the issue is first to tell a player to select a new, unused slot on the left. It goes to 100, but there will become a point where this will no longer work. Next is to reassign roles, this clears all non persistent objects off the map, and is faster than a restart. All dead bodies, vehicle carcases, destroyed buildings, loot piles, and AI dopplegangers in debug will be cleared. You have to ask your players to join the lobby otherwise they will be forced to the lobby when you execute this option. Lastly, if it comes back after doing these two things, all one can do is restart the server to fix it.

 

Besides players not being able to play, it causes another problem, it allows them to spawn in as a bird above a random player and spy on them. To prevent this, just change in create vehicle txt file the line that says "1 seagull" to "5 seagull" to kick players who spawn in as a bird. It has helped contain the bird issue from spreading as fast as it kicks the player out, rather than them waiting, aborting to lobby, selecting a new slot, repeating this process and bugging out another slot.

Link to comment
Share on other sites

  • 0

That was the most well written explanation I have ever read. You sir, deserve praise for that.

 

That certainly explains a ton as the new loading since 1015 has been more apt to leave players with a black screen when loading in..

 

If i could ever get HFB servers to function using the BEC scheduler I would have more restarts but that damn thing just fails to work.

 

Thank you for that very detailed and informative reply

Armifer
Link to comment
Share on other sites

  • 0

You are most welcome.

 

There used to be in some file, I think compiles, where it used to say "Something went wrong blah blah blah", that could be reactivated to inform players to continue to wait to load, as load times increase with player count.

 

Also, if you have any players with bandwidth less than 100, and they are dysnced, kicking them from the server will help with your latency issues. Basically arma2 sends out all info to all clients all the time on everything happening in the game world, and while loading in they are receiving this info too. If the low bandwidth player is dysnced, the game is waiting for some info to be passed on to/from him and hangs up on sending that value to everyone else causing them to get dysnc. If the player cannot communicate with the database quickly he can 'time out' in debug too, leaving him there and not loading him. I didnt believe this was part of the cause at first, until I researched it some more, and read the kick as a suggestion, and it did indeed immediately remove the red chain, and allowed the player hanging in debug to load in! Doesn't mean it always works but it can help, and its important to note the difference between ping and bandwidth. A player can have a good ping, but if his bandwidth is low it doesn't matter much.

 

The only other thing I can think of is that since Epoch uses Lite DB, which is mainly un-normalized compaired to bliss and other DBs, it may have some performance impact on sending/reading data from the DB. But with such small DBs this shouldn't matter, so I doubt it. Only if the databases had something like a million records, or hundres of thousands of records in say a traders_data table, or a player_login, or character_data, there would be some slow down. However, it is a good idea to regularly clean out dead characters from your character_data table to keep them loading in as fast as possible. You can schedule a trigger or SP to do that for you. Lastly, hosting your DB on a separate box is said to give performance increases as well.

Link to comment
Share on other sites

  • 0

Credit to b4r0n

 

create dayz_server/init/cleaner.sqf:

while {true} do {
    {
        if (count units _x==0) then {
            deleteGroup _x;
            //diag_log ("CUSTOM: GROUP CLEANUP");
        };
    } forEach allGroups;
    sleep 300; // run every 5min
}

add this line to the bottom of dayz_server/init/server_functions.sqf:

[] execVM "\z\addons\dayz_server\init\cleaner.sqf";

What this does is clean groups every 5 mins so seagulls should last no longer than that. Can confirm it works on our server.

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