-
Content Count
253 -
Joined
-
Last visited
Everything posted by philippj
-
The curent system doesnt work like this. You have to configure everything within the types.xml other custom files are ignored.
-
By sending X amount of messages afterwards containing only whitespaces
-
Python is a great language tbh and dart doesnt do this out of the box you have to get a modified version of it, so the standard admin uses bec & dart in conjunction
-
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.
-
-