Forums Announcement
Read-Only Mode for Announcements & Changelogs
Dear Survivors, we'd like to inform you that this forum will transition to read-only mode. From now on, it will serve exclusively as a platform for official announcements and changelogs.
For all community discussions, debates, and engagement, we encourage you to join us on our social media platforms: Discord, Twitter/X, Facebook.
Thank you for being a valued part of our community. We look forward to connecting with you on our other channels!
Stay safe out there,
Your DayZ Team
-
Content Count
253 -
Joined
-
Last visited
Everything posted by philippj
-
The thing is functional, although there are some issue in naming variables/functions and some other stuff. @robbyj there is an open pull request
-
You have to do this on the client side.
-
Not possible with BEC
-
[Closed] How to clean up body and weapons from the ground after a while?
philippj replied to SilvioDoHOTS's topic in Servers
Did you restart the server? -
[Closed] How to clean up body and weapons from the ground after a while?
philippj replied to SilvioDoHOTS's topic in Servers
Yes -
[Closed] How to clean up body and weapons from the ground after a while?
philippj replied to SilvioDoHOTS's topic in Servers
\db\globals.xml <var name="CleanupLifetimeDefault" type="0" value="{{ VALUE IN MINUTES }}"/> -
The MOTD are being sent regardless of player state, starting on player connect. So you have to figure out the average loading time of your players, which is after monitoring ~10k player connects on a PVP server, at around 37s. (With loading speed is meant the time spent between Player initialization and exiting the Lobby state) Then you have to calculate the best interval for your MOTDs (hint: 5s works best) and add empty dummy messages to fill the gap. If a player has faster loading times he will see some empty messages but thats how you make sure everyone is getting the messages. I implemented welcome messages by monitoring the lobby state and sending them 2 seconds after leaving it. If you have that number you can issue kicks based on extensive loading times aswell.
-
Place this inside "CustomMission", change your safezone coordinates and you have a rudimentary safezone. It really isnt great but it works. bool IsInRadialZone(float x, float y, float center_x, float center_y, float radius) { // keep distance squared because squaring is cheaper then sqrt float distance_squared = Math.Pow(center_x-x, 2) + Math.Pow(center_y-y, 2); return (distance_squared < Math.Pow(radius, 2)); } override void OnUpdate(float timeslice) { UpdateDummyScheduler(); TickScheduler(timeslice); UpdateLogoutPlayers(); ref array<Man> players = new array<Man>; GetGame().GetPlayers( players ); float safezone_center_x = 0.0; float safezone_center_y = 0.0; float safezone_radius = 0.0; for ( int i = 0; i < players.Count(); i++ ) { PlayerBase player; Class.CastTo(player, players.Get(i)); vector pos = player.GetPosition(); if(IsInRadialZone(pos[0], pos[2], safezone_center_x, safezone_center_y, safezone_radius)) { player.SetAllowDamage( false ); } else { player.SetAllowDamage( true ); } } }
-
To follow this up: Radial zones bool IsInRadialZone(float x, float y, float center_x, float center_y, float radius) { // keep distance squared because squaring is cheaper then sqrt float distance_squared = Math.Pow(center_x-x, 2) + Math.Pow(center_y-y, 2); return (distance_squared < Math.Pow(radius, 2)); } Also GetPosition returns a vector so vector pos = player.GetPosition(); float x = pos[0]; float y = pos[1]; should do the trick
-
No, you would have to create a custom plugin for that.
-
DarT and RPM are basically RCON interfaces that provide a graphical interface for RCON stuff. There are other tools like CFTools (https://omegax.cftools.de) or battleWarden (https://battlewarden.net/) that are RCON based but provide more and custom features.
-
I wont provide a full code solution because i dont want to spread untested code. I have not looked into the exact result of GetPosition thus the code needs to be changed accordingly . Also you have to define your safezone coordinates. Possible solution (if the GetPosition thingy is adjusted): init.c (Add to "CustomMission" (if default) or your adaption of "MissionServer") bool IsInSafezone(float x, float y) { float min_x = 0.0, max_x = 0.0, min_y = 0.0, max_y = 0.0; // Replace this with actual coordinates if(x > min_x && x < max_x && y > min_y && y < max_y) return true; return false; } override void OnUpdate(float timeslice) { UpdateDummyScheduler(); TickScheduler(timeslice); UpdateLogoutPlayers(); ref array<Man> players = new array<Man>; GetGame().GetPlayers( players ); for ( int i = 0; i < players.Count(); i++ ) { PlayerBase player; Class.CastTo(player, players.Get(i)); float x, y, z = player.GetPosition(); // NOT WORKING if(IsInSafezone(x, y) { player.SetAllowDamage(false); } else { player.SetAllowDamage(true); } } }
-
@smasht simple safezones are possible, however without fancy texts & stuff It is possible by getting the players position, checking if the player is within your safezone and disabling/enabling their damageable state in OnTick, dunno how this will impact performance. Example player.SetAllowDamage(true/false); // Activate/deactive damage player.GetPosition(); // Player position (X,Y,[Z]) || // Checking if x, y coords in square || Replace this with dynamic version for best practice reasons bool IsInSafezone(float x, float y) { float min_x = 0.0, max_x = 0.0, min_y = 0.0, max_y = 0.0; // Replace this with actual coordinates if(x > min_x && x < max_x && y > min_y && y < max_y) return true; return false; }
-
Easiest done via RCON tools.
-
Not possible at this time
-
The "Data" is packed binary. You cant unpack it without knowing its structure. So there is no way you can edit this with the tools/info currently available. If you want to edit the players starting loadout you can edit your init.c. Documentation on how to do this this is readily available on Reddit or here on the forums.
-
If you start your server using "-adminlog" a "DayZServer_x64.ADM" file is being created in your defined profiles path which contains player connects, disconnects and kills. All log entries contain the users ingame name and their BohemiaInteractive UID (Base64(Sha256(SteamID64)))
-
External Admintools are a better solution. Check out omegax.cftools.de
-
Community Servers - What to Expect from the Switch to 0.63 & Release of Server Files
philippj replied to eugenharton's topic in Servers
Great -
There are not many populated servers right now. I recommend you check out https://www.dayzspy.com/, or https://omegax.cftools.de/serverlist for more detailed server information.
-
-
-
There was a .63 Suvivor Games server active a few weeks ago, so I think it might come back.
-
So everytime you die you would have to change servers? How should that work with private hives, moded servers or basically the server you are on with your friends? Being forced to change a server would be horrible