spikeydragoon / Cross-Ark-Chat

Provides the ability to cross chat between all your Ark Survival Evolved Servers including discord support.
MIT License
66 stars 25 forks source link

Error : Segmentation fault #2

Closed Al3601 closed 6 years ago

Al3601 commented 6 years ago

Hi,

first thank you for this awesome Bot, but i cannot get it work, i followed the readme word by word, when i try to execute ./CrossDiscordArkChat (permission for all the folder changed to 755), i get the message 'Segmentation fault'.

what cause this error ? google say it is a memory lake problem, i have 10/32 go free....

Debian 9.4 / CrossDiscordChat

spikeydragoon commented 6 years ago

Not sure if everything was installed it should work i tested it on Ubuntu and centos personally.

If you join the discord server i can offer faster support.

spikeydragoon commented 6 years ago

closing due to no reply from op.

Al3601 commented 5 years ago

@spikeydragoon Hi , thank you, couples of months after the first error , here is what i get now with the last version

`:~/arkservers/ARK-apps/CrossArkChat$ ./CrossArkChat CrossArkChat Version 3.2.0.0 This program was created by Spikeydragoon and is intended for free use. If you paid for this program you have been scammed. Thanks to 'sowa' for creating the application icon.

04:45:08 [Info] Discord: Discord.Net v2.0.0-beta (API v6)

Unhandled Exception: Discord.Net.HttpException: The server responded with error 401: 401: Unauthorized at Discord.Net.Queue.RequestBucket.d18.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Discord.Net.Queue.RequestQueue.d14.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Discord.API.DiscordRestApiClient.d62.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Discord.API.DiscordRestApiClient.d57`1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Discord.API.DiscordRestApiClient.d142.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Discord.WebSocket.DiscordSocketClient.d86.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Discord.Rest.BaseDiscordClient.d34.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Discord.Rest.BaseDiscordClient.d34.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Discord.Rest.BaseDiscordClient.d33.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at CrossArkChat.DiscordStartupService.d4.MoveNext() in C:\Development\Open Source\CrossArkChat\Main\CrossArkChat\Services\DiscordStartupService.cs:line 63 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at CrossArkChat.Program.d__2.MoveNext() in C:\Development\Open Source\CrossArkChat\Main\CrossArkChat\Program.cs:line 147 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at CrossArkChat.Program.Main(String[] args) in C:\Development\Open Source\CrossArkChat\Main\CrossArkChat\Program.cs:line 15 Aborted

` Debian 9.5

spikeydragoon commented 5 years ago

Unhandled Exception: Discord.Net.HttpException: The server responded with error 401: 401: Unauthorized at Discord.Net.Queue.RequestBucket.d__18.MoveNext()

Means its not liking your token or something changed bot account wise so make sure you entered it all right and that you didnt remove anything by mistake in config formating

Al3601 commented 5 years ago

Unhandled Exception: Discord.Net.HttpException: The server responded with error 401: 401: Unauthorized at Discord.Net.Queue.RequestBucket.d__18.MoveNext()

Means its not liking your token or something changed bot account wise so make sure you entered it all right and that you didnt remove anything by mistake in config formating

@spikeydragoon Thank you , the problem was a typo in the token, now it is working but not as i wanted, only one thing work, the cross chat when i use /all Hello , it post a message on 2 discord channel and my 2 servers.

/help test command (seems only work on ./CrossArkChat logs, no post on the specific channel and no alerte to the "Admin" role.

!discord , !rules, !ping, not working ingame

/discord test message // when used ingame nothing hapens.

and no tribLogs on specific channels to track my tribe logs.

here is the LOGS :

CrossArkChat Version 3.2.0.0 This program was created by Spikeydragoon and is intended for free use. If you paid for this program you have been scammed. Thanks to 'sowa' for creating the application icon.

07:59:22 [Info] Discord: Discord.Net v2.0.0-beta (API v6) 07:59:22 [Verbose] Rest: GET voice/regions: 533.35 ms 07:59:23 [Info] Gateway: Connecting 07:59:23 [Verbose] Rest: GET gateway: 73.59 ms 07:59:25 [Info] Gateway: Connected 07:59:26 [Verbose] Gateway: Connected to Ark Server 07:59:26 [Info] Gateway: Ready DiscordSupportMessage: ragnarok (Human): test help 08:02:38 [Verbose] Rest: POST channels/427878674151374868/messages: 233.15 ms 08:02:56 [Verbose] Rest: POST channels/427878674151374868/messages: 239.36 ms 08:03:06 [Verbose] Rest: POST channels/427878674151374868/messages: 186.47 ms 08:03:18 [Verbose] Rest: POST channels/427878674151374868/messages: 202.82 ms Servers: ragnarok (Human): test discord live Discord: ragnarok (Human): test discord live 08:05:29 [Verbose] Rest: POST channels/453789802920411136/messages: 230.77 ms 08:05:29 [Verbose] Rest: POST channels/407351142658473985/messages: 207.3 ms

` Here is my Config : "Servers": [ { "Map": "ragnarok", "IP": "XXX.XXX.XX.XXX", "RconPort": 32333, "QueryPort": 27014, "Password": "XXX", "Prefix": "/ragnarok", "Active": true, "ServerChannelId": 407351142658473985 }, { "Map": "ragnarokTEK", "IP": "XXX.XXX.XX.XXX", "RconPort": 32334, "QueryPort": 27015, "Password": "XXX", "Prefix": "/ragnarokTEK", "Active": true, "ServerChannelId": 392021756191178752 } ],

"TribeIDs": [ { "TribeId": "1731500039", "Active": true, "TribeDiscordId": 453786094329397259 } ],

"GameCommands": [ { "Command": "!discord", "CommandReply": "https://discord.gg/XXXX", "Active": true }, { "Command": "!rules", "CommandReply": "These are the rules.", "Active": true }, { "Command": "!ping", "CommandReply": "Pong!", "Active": true } ],

"CustomTagList": [ "ACM[CMD]", "SERVER: ACM[CMD]" ],

"ChatSettings": { "ShowAdminCommands": true, "SendAdminCommandsToOwnChannel": true, "ShowTribelogsInChat": true, "UsePrefixToSendChat": true, "UseCustomTags": false, "LogChat": true, "LogAdminCommands": false, "LogTribeLogs": true, "UseGameCommands": true, "PrefixToSendAllServers": "/all" },

"DiscordSettings": { "DiscordChannelID": 453789802920411136, "TribeLogsDiscordChannelID": 508494801562501136, "AdminCommandsDiscordChannelID": 508703491536191498, "SupportChannelID": 508495027526434816, "prefix": "d!", "DiscordChatPrefix": "Discord", "DiscordToken": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "ShowChatPrefixInDiscord": true, "SendTribeLogsToOwnChannel": true, "SendServerChatToOwnChannel": true, "UseSupportPrefix": true, "PingRoleName": true, "ReplyToSupportPing": true, "SendChatToDiscord": true, "SupportPrefix": "/help", "PrefixToSendToDiscord": "/discord", "SupportRoleToPing": "Admin", "SupportPingReply": "Your support ticket has been sent." } } ` is there something im doing wrong ? thank you in advance.

spikeydragoon commented 5 years ago

I was told the prefixs stopped working in 3.2 so just use 3.1 for now i have fixed it already however im waiting to release it while i finish the planned updates to release them at 1 time. Bug tracking is here. https://github.com/spikeydragoon/Cross-Ark-Chat/projects/1

Al3601 commented 5 years ago

ok, i can't download the 3.1 the link is broken (404)

https://www.dropbox.com/s/7ejivgtlfpd38xu/CrossDiscordArkChat.zip?dl=0

i'll wait for the next release. thank you

spikeydragoon commented 5 years ago

Ah you are running the linux version. Hmm ill just release the fix early since i dont have the older version of the linux. I should be done tonight so maybe tomorrow on release.

spikeydragoon commented 5 years ago

You can also ask in discord server someone might have old one.

spikeydragoon commented 5 years ago

This has been fixed in v3.3 thats now available for download.

Al3601 commented 5 years ago

@spikeydragoon

just tested right now, here what i cannot get to work:

/help message // ingame not send any message to Admin role and not logged in the specified Disord channel /d! !rules // in discord i got UnknownCommand: Unknown command.

The big problem is that i cannot get the TribLogs in the specified Discord channels (i want my Trib logs get logged in our own channel tribe etc...)

now i the tribe logs goes to the general chat... what is the corrrect config for this ?

spikeydragoon commented 5 years ago

The game commands are only usable in game doesnt work in discord which is why its saying an unknown command.

How is your new config set up?

Al3601 commented 5 years ago

"Servers": [ { "Map": "ragnarok", "IP": "XXX.XXX.XX.XX", "RconPort": 32333, "QueryPort": 27014, "Password": "XXXXX", "Prefix": "/ragnarok", "Active": true, "ServerChannelId": 407351142658473985 }, { "Map": "ragnarokTEK", "IP": "XXX.XXX.XX.XX", "RconPort": 32334, "QueryPort": 27015, "Password": "XXXXX", "Prefix": "/ragnarokTEK", "Active": true, "ServerChannelId": 392021756191178752 } ],

"TribeIDs": [ { "TribeId": "1731500039", "Active": true, "TribeDiscordId": 453786094329397259 }, { "TribeId": "00000", "Active": false, "TribeDiscordId": 0 } ],

"GameCommands": [ { "Command": "!discord", "CommandReply": "https://discord.gg/XXXX", "Active": true }, { "Command": "!rules", "CommandReply": "These are the rules.", "Active": true }, { "Command": "!ping", "CommandReply": "Pong!", "Active": true } ],

"CustomTagList": [ "ACM[CMD]", "SERVER: ACM[CMD]" ],

"ChatSettings": { "ShowAdminCommands": true, "SendAdminCommandsToOwnChannel": true, "ShowTribelogsInChat": true, "UsePrefixToSendChat": false, "UseCustomTags": false, "LogChat": true, "LogAdminCommands": true, "LogTribeLogs": false, "UseGameCommands": true, "PrefixToSendAllServers": "/all" },

"DiscordSettings": { "DiscordChannelID": 453789802920411136, "TribeLogsDiscordChannelID": 508494801562501136, "AdminCommandsDiscordChannelID": 508703491536191498, "SupportChannelID": 508495027526434816, "JoinLeaveNotificationsDiscordChannelID": 509435837516349453, "prefix": "d!", "DiscordChatPrefix": "Discord", "DiscordToken": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "ShowChatPrefixInDiscord": true, "SendTribeLogsToOwnChannel": true, "SendServerChatToOwnChannel": true, "UseSupportPrefix": true, "UseJoinLeaveNotifications": true, "SendJoinLeaveNotificationsToServerOwnChannel": true, "UseWordReplacementList": false, "PingRoleName": true, "ReplyToSupportPing": true, "SendChatToDiscord": true, "SupportPrefix": "/help", "PrefixToSendToDiscord": "/discord", "SupportRoleToPing": "Admin", "SupportPingReply": "Your support ticket has been sent." }

The game commands are not working in game . Thanks for your help

spikeydragoon commented 5 years ago

The way you have it set all server chat will go to its own discord channel and a copy will show up in the DiscordChannelID.

For tribe logs all logs will go to TribeLogsDiscordChannelID unless it sees a tribe log matching the tribe id of 1731500039 at which it would then send it to 453786094329397259 instead.

Admin commands should go to 508703491536191498 with send to own channel enabled.

Does it do any of that or show up in console?

Al3601 commented 5 years ago

here what happens with this config:

tribelogs goes to "DiscordChannelID": 453789802920411136, and here "ServerChannelId": 407351142658473985 I want them to go to "TribeLogsDiscordChannelID": 508494801562501136, (for all tribes) and here "TribeDiscordId": 453786094329397259 (for my own tribe)

Admin commands are not show up in the console & no show in the specified channel. the "/help message" show in the console and not in the discord channel 508495027526434816

spikeydragoon commented 5 years ago

That means for some reason its not getting flagged as a tribe log. Can you send me a shot of one of the tribe logs so i can see if they changed the tag or not.

Al3601 commented 5 years ago

Here is one my last trib logs during the test

2018.11.06_20.46.13: SERVER: ragnarok (Tribu Outlanders, ID 1731500039: Day 9511, 06:51:12: Yoki a d?truit un Fondation en chaume !</>)

spikeydragoon commented 5 years ago

Ah its a language thing the tag changed so my bot doesnt know its a tribe log. I thought the Tribe tag was the same but apparently not.

Hmm guess to fix that i will need to make the tags set able in the config.

To test my theory do you have discord or steam i can send a temp patch to try out?

Al3601 commented 5 years ago

ahh do i need to set " culture=fr" to "culture=en" to get this working correctly ? or you can make this configurable in _configuration.json?

spikeydragoon commented 5 years ago

I can make it set able in the config but for testing to make sure thats what it is i want to send a hardcoded version with the change unless you can temp set it to en to see if that fixes it which ever is easier on you.

Al3601 commented 5 years ago

ok im going to test it right now by converting the server to EN

spikeydragoon commented 5 years ago

Sounds good let me know the results.

Al3601 commented 5 years ago

i can confirm all working good now since i converted the server to "culture=en"

except "/help need admin" no log into discord and no alert to admin role !rules or !discord not working ingame

spikeydragoon commented 5 years ago

Added the config change for the culture to the to-do list https://github.com/spikeydragoon/Cross-Ark-Chat/projects/1

As far as the game commands and support command are they even showing up in the console?

Al3601 commented 5 years ago

during my tests here is the results with 2 servers converted to EN:

/help admin i need help //show in the console, not in discord. !rules //no logs in the console or Discord !discord //no logs in the console or Discord d! !rules // if i message the BOT direcly on discord i get "UnknownCommand: Unknown command." d! !discord // if i message the BOT direcly on discord i get "UnknownCommand: Unknown command."

spikeydragoon commented 5 years ago

K ill test game commands in a bit to see whats causing them to not work.

Running the game commands in discord is suppose to show unknown as they dont work in discord only in-game.

spikeydragoon commented 5 years ago

Okay found issue with game commands and is fixed will add in version 3.4

Al3601 commented 5 years ago

oh that was quick thank you!

Al3601 commented 5 years ago

a little feedback from lastest version 3.4.0.0 ingame commands work like charm! /help command generate an error in RconErrros.txt

02:01:13_System.NullReferenceException: Object reference not set to an instance of an object. at CrossArkChat.CrossArkChatService.d__36.MoveNext() in C:\Development\Open Source\CrossArkChat\Main\CrossArkChat\Services\CrossArkChatService.cs:line 1006

spikeydragoon commented 5 years ago

Just tested on my server and its working what are your settings for it?

Al3601 commented 5 years ago

my config was the same as above, as for now i left the culture=en:

"RconSettings": { "NoResponceTag": "Server received, But no response!!", "NoPlayerTag": "No Players Connected", "ServerRepeatTag": "SERVER:", "AdminCMDTag": "AdminCmd:", "TribeTag": "Tribe", "GetChatCmd": "getchat", "ListPlayersCmd": "ListPlayers", "ListPlayerCheckTimeInMs": 10000, "GetChatTimeInMs": 5, "RconSendTimeoutInMs": 3000, "RconReceiveTimeoutInMs": 10000, "RconConnectionRetrys": 1 },

"PlayerNotificationsSettings": { "PlayerJoinStart": "Player", "PlayerJoinMiddle": "joined the", "PlayerJoinEnd": "server", "PlayerLeftStart": "Player", "PlayerLeftMiddle": "left the", "PlayerLeftEnd": "server" },

"ChatSettings": { "ShowAdminCommands": false, "SendAdminCommandsToOwnChannel": true, "ShowTribelogsInChat": true, "UsePrefixToSendChat": false, "UseCustomTags": false, "LogChat": true, "LogAdminCommands": false, "LogTribeLogs": true, "UseGameCommands": true, "PrefixToSendAllServers": "/all" },

"DiscordSettings": { "DiscordChannelID": 453789802920411136, "TribeLogsDiscordChannelID": 508494801562501136, "AdminCommandsDiscordChannelID": 508703491536191498, "SupportChannelID": 508495027526434816, "JoinLeaveNotificationsDiscordChannelID": 509435837516349453, "prefix": "d!", "DiscordChatPrefix": "Discord", "DiscordToken": "XXXXXXXXXXXXXXXXXXXXXXXXXX", "ShowChatPrefixInDiscord": true, "SendTribeLogsToOwnChannel": true, "SendServerChatToOwnChannel": true, "UseSupportPrefix": true, "UseJoinLeaveNotifications": true, "SendJoinLeaveNotificationsToServerOwnChannel": true, "UseWordReplacementList": false, "PingRoleName": true, "ReplyToSupportPing": true, "SendChatToDiscord": true, "SupportPrefix": "/help", "PrefixToSendToDiscord": "/discord", "SupportRoleToPing": "Admin", "SupportPingReply": "Votre demande d'aide à été envoyer a l'admin." } }

do you think it's the non UTF-8 character ?

spikeydragoon commented 5 years ago

It might be since the reply goes to ark which doesn't have UTF-8 for testing just change it to aci character and see what happens

Al3601 commented 5 years ago

hello, tested today same problem:

09:02:22_System.NullReferenceException: Object reference not set to an instance of an object. at CrossArkChat.CrossArkChatService.d__36.MoveNext() in C:\Development\Open Source\CrossArkChat\Main\CrossArkChat\Services\CrossArkChatService.cs:line 1006

spikeydragoon commented 5 years ago

As i said before that is more of a warning not an error. Its just letting you know server didnt reply with any data. Doesnt say the reason so it doesnt mean its a problem.

Just looking at the config everything looks right so without seeing everything in person i cant say whats causing it to do that. I have tested on 3.4 on multi servers/os and they are all working properly so its something on either the server side or config side that im just not seeing.

One thing i have ran into is some languages mess with the config so to make sure that isnt a problem Use notepad++ and set it to english then edit a new config with it to see if that makes a difference past that im out of ideas without doing it myself.