On dedicate server when setowner or setgroupowner on AI, sometimes some of AI's loadouts will be missing when ownership change completed. The chance of this bug happen is below 10% or lower. But it will appear 1 or 2 AI in a full rifle team with only underwares.
Description
Details
- Severity
- None
- Resolution
- Open
- Reproducibility
- Sometimes
- Operating System
- Windows 10 x64
- Category
- Scripting
Use zeus to put some group of AI, use script:
- spawn {
{
[[_x],{
_key = (_this select 0 setGroupOwner 2); str (_this select 0) + str (_key) remoteExec ["hint",0]; }] remoteexec ["call",2]; sleep 2;
}foreach allgroups;};
What's more if I use the function of MOD:Ares Mod - Achilles Expansion, it is the same.
Event Timeline
Hello.
Thank you for the report. I am not able to reproduce this issue. If it is very rare it will be hard to press for a fix. Could you please create a video of the issue? I would like to see if you are doing something differently.
{F93724}Can you see the video? I just dragged it to here. I am not so sure, Ha!
I believe my game enviroment is quite default, I noticed this bug during my mod conditions. So I tried to make it sure, so I use a default settings.
I guess why you can't reproduce this issue is that, you didn't put a lot of ai to transfer. Try 10 groups of rifle teams, it may happen.
I used two codes, one is to transfer all the units at once, the other one is to automaticlly trasnfer.
code1:{ _x setowner 2} foreach allunits; (exec on server)
code2:{
_handle = _X addEventHandler ["CuratorObjectPlaced",{ [[_this select 0, _this select 1],{ (group (_this select 1)) setgroupowner 2; }] remoteexec ["call",2]; }]; } foreach allCurators;
I runned these code on my dedicate server, the server only have very default params. K:\Arma3Server\arma3server.exe -enableHT -port=2302 -config=K:\Arma3Server\KestTest.cfg
following is my kest.test.cfg
server.cfg
comments are written with "//" in front of them.
GLOBAL SETTINGS
hostname = "KestTest"; The name of the server that shall be displayed in the public server list
password = ""; Password for joining, eg connecting to the server
passwordAdmin = "123"; Password to become server admin. When you're in Arma MP and connected to the server, type '#login xyz'
reportingIP = "armedass.master.gamespy.com"; For ArmA1 publicly list your server on GameSpy. Leave empty for private servers
reportingIP = "arma2pc.master.gamespy.com"; For ArmA2 publicly list your server on GameSpy. Leave empty for private servers
reportingIP = "arma2oapc.master.gamespy.com"; For Arma2: Operation Arrowhead this option is deprecated since A2: OA version 1.63
reportingIP = "arma3" not used at all
logFile = "server_console.log"; // Tells ArmA-server where the logfile should go and what it should be called
BattlEye = 0; // Server to use BattlEye system
WELCOME MESSAGE ("message of the day")
It can be several lines, separated by comma
// Empty messages "" will not be displayed at all but are only for increasing the interval
motd[] = {
"Welcome to =SAGA= 2# Server", "Behave yourself!", "QQ Group:178180325", "QQ群178180325", "TS3>>ts.bf2.com.cn", "論壇:www.bf2.com.cn"
};
motdInterval = 5; // Time interval (in seconds) between each message
JOINING RULES
checkfiles[] = {}; Outdated.
maxPlayers = 64; 最高游戏人数
kickDuplicate = 1; 是否踢出重复Key.
verifySignatures = 2; 是否验证文件. A3 1.59后只支持2
equalModRequired = 0; 是否要求mod参数一致
allowedFilePatching = 2; Allow or prevent client using -filePatching to join the server. 0, is disallow, 1 is allow HC, 2 is allow all clients (since Arma 3 1.49+)
requiredBuild = 12345 // Require clients joining to have at least build 12345 of game, preventing obsolete clients to connect
VOTING
voteMissionPlayers = 1; Tells the server how many people must connect so that it displays the mission selection screen.
voteThreshold = 0.33; // 33% or more players need to vote for something, for example an admin or a new map, to become effective
INGAME SETTINGS
disableVoN = 1; If set to 1, Voice over Net will not be available
vonCodecQuality = 0; since 1.62.95417 supports range 1-20 since 1.63.x will supports range 1-30 8kHz is 0-10, 16kHz is 11-20, 32kHz is 21-30
persistent = 1; If 1, missions still run on even after the last player disconnected.
timeStampFormat = "short"; Set the timestamp format used on each report line in server-side RPT file. Possible values are "none" (default),"short","full".
allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"}; only allow files with those extensions to be loaded via loadFile command (since Arma 3 build 1.19.124216)
allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"}; only allow files with those extensions to be loaded via preprocessFile/preprocessFileLineNumber commands (since Arma 3 build 1.19.124323)
allowedHTMLLoadExtensions[] = {"htm","html","xml","txt"}; only allow files with those extensions to be loaded via HTMLLoad command (since Arma 3 build 1.27.126715)
allowedHTMLLoadURIs[] = {"http://aa3.bf2.com.cn/rss/rss_server1.html", "http://www.bf2.com.cn/aa3news.html", "http://aa3.bf2.com.cn/rss/1.txt"};
SCRIPTING ISSUES
onUserConnected = "";
onUserDisconnected = "";
doubleIdDetected = ""; No check Addons signature
regularCheck = "{}"; Server checks files from time to time by hashing them and comparing the hash to the hash values of the clients. //deprecated
SIGNATURE VERIFICATION/#
onUnsignedData = "kick (_this select 0)"; 使用没有正确加Key的文件,就踢出去
onHackedData = "kick (_this select 0)"; 使用修改了的游戏文件,就禁止
onDifferentData = ""; data with a valid signature, but different version than the one present on server detected
MISSIONS CYCLE (see below)
class Missions
{
class Mission1
{
template = ""; Filename of pbo in MPMissions folder
difficulty = "Veteran"; "Recruit", "Regular", "Veteran", "Custom"
};
}; An empty Missions class means there will be no mission rotation
missionWhitelist[] = {}; //an empty whitelist means there is no restriction on what missions' available
Headless client: 分担服务器计算
headlessClients[]={"127.0.0.1", "180.168.104.254", "222.66.4.141", "222.66.4.140", "222.66.4.142"}; 设定允许作为HC登录的IP
localClient[]={127.0.0.1, 180.168.104.254, 222.66.4.141, 222.66.4.140, 222.66.4.142}; //以下IP登录后不限带宽
P.s You may see I load CBA only on my client. That just for quick debug use. Later after I made the video. I checked with no CBA mod on my client. The bug also showed up.