Rehber DiscordSRV Eklentisi ile Sunucunuzu Discord'a Entegre edin! | Kurulum, Türkçeleştirme ve Ayarlama

MakeRKereM

Bilgili
G. Moderatör
Katılım
2 Nisan 2021
Mesajlar
34
En iyi cevaplar
0
Puanları
65
206337e1a010fbb7f90e3ba81b3dae932a7cc102.png
Merhaba arkadaşlar. Bu konuda sizlere DiscordSRV eklentisini tanıtacağım.
DiscordSRV eklentisi nedir?

DiscordSRV eklentisi sunucunuzu Discord platformuna entegre etmenizi sağlar. Açacağınız bir Discord botu ile kolayca ayarlayabilirsiniz.
Özellikleri:
- Sunucunuzun konsoluna Discord sunucunuzda kuracağınız bir kanal ile bağlanarak sunucunuzu yönetebilirsiniz.
- Sunucunuzdaki chet'e Discord üzerinden mesaj gönderebilirsiniz ve gelen mesajları görebilirsiniz.
- Sunucuya giren-çıkan kişileri Discord üzerinde görebilirsiniz.
- Sunucunuzdaki kişilerin Minecraft hesabını Discord hesabı ile eşleyebilirsiniz.
Bunlar gibi daha fazla özelliği olan DiscordSRV eklentisine gelin daha yakından bakalım.
Ama öncesinde bir uyarıda bulunmak istiyorum. Eğer aldığınız VDS 3GB ve 3GB'dan az RAM'e sahipse bu eklentiyi kurmanızı önermeyiz. Aynı anda hem sunucuyu hem de Discord botunuzu çalıştıracağından sunucunuzda takılmalar olabilir.
Nasıl Kurulur?
Bu linke tıklayarak eklentiyi indirip sunucumuzun içindeki "plugins" klasörüne atıyoruz. Sonrasında sunucumuzun konsoluna "reload"komutunu göndererek eklentileri yeniliyoruz. Şimdi ise Discord üzerinden bot açmamız gerek.
İlk olarak bu siteye giriyoruz.
Screenshot_20210403-174430_Samsung Internet.jpg
Bu ekrandan "New Application" tuşuna basarak yeni bir uygulama oluşturuyoruz.
Screenshot_20210403-174457_Samsung Internet.jpg
Bu ekranda size botunuzun adını sorar. Sunucunuzun adını koyabilirsiniz. Size kalmış. Sonra "Create" tuşuna tıklıyoruz.
Screenshot_20210403-174543_Samsung Internet.jpg
Bu ekranda botunuzun ismini ve açıklamasını giriyoruz. Açıklamayı isterseniz boş bırakabilirsiniz.
Screenshot_20210403-174743_Samsung Internet.jpg
Sonrasında ekranın sol kısmından "Bot" tuşuna basıyoruz.
Screenshot_20210403-174755_Samsung Internet.jpg
Sonra bu "Add Bot" tuşuna basıyoruz.
Screenshot_20210403-174830_Samsung Internet.jpg
Bu ekrandan gelen uyarıyı "Yes, do it!" tuşuna basarak onaylıyoruz.
Screenshot_20210403-174905_Samsung Internet.jpg
Bu ekrandan "Copy" tuşuna basarak tokenimizi kopyalıyoruz. Bu bizim botumuzun anahtarı gibidir.
SmartSelect_20210403-174948_Samsung Internet.jpg
Sonra biraz aşağıya inip bu "Public Bot" özelliğini kapatıyoruz. Bu sayede botumuzu sadece biz ekleyebiliriz.
1619853663578.png
Biraz daha aşağıya indikten sonra bu özelliği açmak gerekir. Çünkü DiscordSRV eklentisi üye listesini alan bir eklenti olduğundan bu özelliği aktif etmezsek çalışmayacaktır.
Screenshot_20210403-175022_Samsung Internet.jpg
Biraz daha aşağıya inip botumuza "Administrator" yani yönetici izinini veriyoruz. Altında çıkan yerden yeşil tuşa basarak yaptıklarımızı kaydediyoruz.
Screenshot_20210403-174613_Samsung Internet.jpg
Sonra soldaki kısımdan "OAuth2" menüsüne giriyoruz.
Screenshot_20210403-174718_Samsung Internet.jpg
Buradan "Scopes" kısmından bot seçeneğini seçip alttaki "Bot Permissions" kısmından "Administrator" seçeneğini seçiyoruz. Sonra yukarıda bir link çıkacak. Bu bizim botumuzun ekleme linki. Bu link ile sunucumuza botu ekliyoruz.

Geldik Ayarlama kısmına
Sunucunuzun içinde "plugins" klasörünün içinde "DiscordSRV" klasöründe "config.yml" dosyası olacak. Bu dosyayı açıp içine aşağıdaki kodu yapıştırıyoruz. Sonrasında benim altta gösterdiğim kısımları kendinize göre değiştirerek kullanabilirsiniz.
YAML:
ConfigVersion: 1.22.0
BotToken: "BOTTOKEN"
Channels: {"global": "000000000000000000"
           "status": ""
           "awards": ""
           "deaths": ""
           "join": ""
           "leave": ""
           "dynmap": ""
           "watchdog": ""
           "broadcasts": ""
}
DiscordConsoleChannelId: "000000000000000000"
DiscordInviteLink: "discord.gg/sunucunundavetlinki"
DebugLevel: 0
DebugJDA: false
DebugJDARestActions: false
CancelConsoleCommandIfLoggingFailed: true
ForcedLanguage: none
# https://cravatar.eu/helmavatar/{username}/{size}.png#{texture}
AvatarUrl: https://crafatar.com/avatars/{uuid-nodashes}.png?size={size}&overlay#{texture}
Experiment_JdbcAccountLinkBackend: "jdbc:mysql://HOST:PORT/DATABASE?autoReconnect=true&useSSL=false"
Experiment_JdbcTablePrefix: "discordsrv"
Experiment_JdbcUsername: "username"
Experiment_JdbcPassword: "password"
Experiment_WebhookChatMessageDelivery: false
Experiment_WebhookChatMessageUsernameFormat: "%displayname%"
Experiment_WebhookChatMessageFormat: "%message%"
Experiment_WebhookChatMessageUsernameFromDiscord: false
Experiment_WebhookChatMessageAvatarFromDiscord: false
Experiment_MCDiscordReserializer_ToDiscord: false
Experiment_MCDiscordReserializer_ToMinecraft: false
Experiment_MCDiscordReserializer_InBroadcast: false
PrintGuildsAndChannels: true
ForceTLSv12: true
NoopHostnameVerifier: false
ParseEmojisToNames: true
MaximumAttemptsForSystemDNSBeforeUsingFallbackDNS: 3
TimestampFormat: EEE, d. MMM yyyy HH:mm:ss z
DateFormat: yyyy-MM-dd
Timezone: UTC
DisabledPluginHooks: []
VentureChatBungee: false
EnablePresenceInformation: false
UseModernPaperChatEvent: false
DiscordGameStatus: "Minecraft - Sunucunun Adı"
StatusUpdateRateInMinutes: 2
DiscordChatChannelDiscordToMinecraft: true
DiscordChatChannelMinecraftToDiscord: true
DiscordChatChannelTruncateLength: 256
DiscordChatChannelTranslateMentions: false
DiscordChatChannelAllowedMentions: [user, channel, emote]
DiscordChatChannelPrefixRequiredToProcessMessage: ""
DiscordChatChannelRolesAllowedToUseColorCodesInChat: ["Kurucu", "Üst Modaratör", "Modarator"]
DiscordChatChannelBroadcastDiscordMessagesToConsole: false
DiscordChatChannelRequireLinkedAccount: false
DiscordChatChannelBlockBots: true
DiscordChatChannelBlockedIds: ["000000000000000000", "000000000000000000", "000000000000000000"]
DiscordChatChannelRolesSelectionAsWhitelist: false
DiscordChatChannelRolesSelection: ["Chat Kanalını Görme.", "Chat"]
DiscordChatChannelRoleAliases: {"Developer": "Dev"}
DiscordConsoleChannelLogRefreshRateInSeconds: 5
DiscordConsoleChannelUsageLog: "Console-%date%.log"
DiscordConsoleChannelBlacklistActsAsWhitelist: false
DiscordConsoleChannelBlacklistedCommands: ["?", "op", "deop", "execute"]
DiscordConsoleChannelFilters: {".*(?i)async chat thread.*": "", ".*Çevrimiçi en fazla \\d+ oyuncunun \\d+ 'sı Oynuyor.*": ""}
DiscordConsoleChannelLevels: [info, warn, error]
DiscordConsoleChannelAllowPluginUpload: false
DiscordChatChannelConsoleCommandEnabled: true
DiscordChatChannelConsoleCommandNotifyErrors: true
DiscordChatChannelConsoleCommandPrefix: "!c"
DiscordChatChannelConsoleCommandRolesAllowed: ["Kurucu", "Üst Modaratör"]
DiscordChatChannelConsoleCommandWhitelist: ["say", "lag", "tps"]
DiscordChatChannelConsoleCommandWhitelistBypassRoles: ["Kurucu", "Üst Modaratör"]
DiscordChatChannelConsoleCommandWhitelistActsAsBlacklist: false
DiscordChatChannelConsoleCommandExpiration: 0
DiscordChatChannelConsoleCommandExpirationDeleteRequest: true
DiscordChatChannelListCommandEnabled: true
DiscordChatChannelListCommandMessage: "oyunculistesi"
DiscordChatChannelListCommandExpiration: 10
DiscordChatChannelListCommandExpirationDeleteRequest: true
DiscordChatChannelGameFilters: {}
DiscordChatChannelDiscordFilters: {".*Çevrimiçi Oyuncular\\(.*": "", ".*\\*\\*Çevrimiçi Oyuncu Yok.\\*\\*.*": ""}
ChannelTopicUpdaterChannelTopicsAtShutdownEnabled: true
ChannelTopicUpdaterRateInMinutes: 10
DiscordCannedResponses: {"!ip": "sunucuip", "!site": "sunucusiteninurlsi"}
MinecraftDiscordAccountLinkedConsoleCommands: ["", "", ""]
MinecraftDiscordAccountUnlinkedConsoleCommands: ["", "", ""]
MinecraftDiscordAccountLinkedRoleNameToAddUserTo: "Linked"
MinecraftDiscordAccountLinkedAllowRelinkBySendingANewCode: false
ServerWatchdogEnabled: false
ServerWatchdogTimeout: 30
ServerWatchdogMessageCount: 3
Değiştireceğiniz Kısımlar
BotToken: "BOTTOKEN" Tırnak içindeki kısıma botumuzu açarken kopyaladığımız tokeni giriyoruz.

Channels: {"global": "000000000000000000"
"status": ""
"awards": ""
"deaths": ""
"join": ""
"leave": ""
"dynmap": ""
"watchdog": ""
"broadcasts": ""
}
Kanal ID'leri. Peki bir kanalın ID'si nasıl bulunur?
Discord kullanıcı ayarlarına giriyoruz.
1619857297540.png
Gelişmiş kısmından "Geliştirici Modu" seçeneğini açıyoruz.
Sonrasında bir kanala sağ tıklayıp
1619857425846.png
"ID'yi Kopyala" seçeneği ile ID'yi alabilirsiniz.
global: Sunucunuzun "Chet" kısmı. Kullanıcılar buradan "Chet"e mesaj gönderebilirler. Eğer kullanmıyorsanız silebilirsiniz.
status: Sunucunun açılma-kapanma duyurularının olacağı kanal. Eğer kullanmıyorsanız silebilirsiniz.
awards: Sunucuda başarım kazanan kişilerin olacağı kanal. Eğer kullanmıyorsanız silebilirsiniz.
deaths: Sunucuda Ölen kişilerin olacağı kanal. Eğer kullanmıyorsanız silebilirsiniz.
join: Sunucuya biri giriş yaptığı zaman mesaj atacağı kanal ID. Eğer kullanmıyorsanız silebilirsiniz.
leave: Sunucudan biri çıktığı zaman mesaj atacağı kanal ID. Eğer kullanmıyorsanız silebilirsiniz.
dynmap: Dynmap eklentisinin mesajlarının geleceği kanal ID. Eğer kullanmıyorsanız silebilirsiniz.
watchdog: Watchdog eklentisinin mesajlarının geleceği kanal ID. Eğer kullanmıyorsanız silebilirsiniz.
broadcasts: "/discord broadcast" komutu ile sunucunuz üzerinden yaptığınız duyuruların geleceği kanal ID'si. Eğer kullanmıyorsanız silebilirsiniz.

DiscordConsoleChannelId: "000000000000000000" Konsolunuzun olacağı ID. Bu kanalı görünmez yapmayı unutmayın.
DiscordInviteLink: "discord.gg/sunucunundavetlinki" Sunucunuzun davet linkini yazmalısınız.
EnablePresenceInformation: false Burayı true yaparak sunucuda oynayan kişilerin oynuyor kısmında sunucunuzun gözükmesini sağlayabilirsiniz. "false" devre dışı bırakır.
DiscordGameStatus: "Minecraft - Sunucunun Adı" Discord'da Oynuyor kısmında gözükecek metin.
DiscordChatChannelDiscordToMinecraft: true Belirlediğimiz Chat kanalından Minecraft'taki Chat'e mesajlar gönderilsin mi? Evetse "true", hayırsa "false" yapınız.
DiscordChatChannelMinecraftToDiscord: true Minecraft'taki Chet'in mesajları Discord'daki Chet kanalına gönderilsin mi? Evetse "true", hayırsa "false" yapınız.
DiscordChatChannelAllowedMentions: [user, channel, emote] Discord'daki Chat kanalında hangi etiketlemelere izin verilsin? user: kullanıcı etiketlemeleri, channel: kanal etiketlemeleri, emote: emoji etiketlemeleri.
DiscordChatChannelRoleAliases: {"Developer": "Dev"} Discordda Chat kanalındaki rollerin kısaltmaları.
DiscordChatChannelConsoleCommandEnabled: true Chat kanalından konsolda komut kullanılsın mı? Evetse "true", hayırsa "false" yapınız.
DiscordChatChannelConsoleCommandPrefix: "!c" Chat kanalından konsolda komut kullanmak için prefix.
DiscordChatChannelConsoleCommandRolesAllowed: ["Kurucu", "Üst Modaratör"] Chat kanalında komut kullanabilen roller.
DiscordChatChannelConsoleCommandWhitelistBypassRoles: ["Kurucu", "Üst Modaratör"] Chat kanalında bütün konsol komutlarını kullanabilecek roller.
DiscordCannedResponses: {"!ip": "sunucuip", "!site": "sunucusiteninurlsi" Sunucu bilgileri için komutlar.

ServerWatchdogEnabled: false
ServerWatchdogTimeout: 30
ServerWatchdogMessageCount: 3
Eğer sunucunuzda Watchdog eklentisi varsa true yapabilirsiniz.
Türkçeleştirme
Aşağıda verdiğim kodu aynı klasörde messages.yml dosyasının içine yapıştırarak eklentiyi Türkçeleştirebilirsiniz.
YAML:
DiscordToMinecraftChatMessageFormat: "[<aqua>Discord</aqua> | %toprolecolor%%toprolealias%<reset>] %name% » %message%"
DiscordToMinecraftChatMessageFormatNoRole: "[<aqua>Discord</aqua>] %name% » %message%"
DiscordToMinecraftAllRolesSeparator: " | "
MinecraftChatToDiscordMessageFormat: "**%primarygroup%** %displayname% » %message%"
MinecraftChatToDiscordMessageFormatNoPrimaryGroup: "%displayname% » %message%"
ChatChannelHookMessageFormat: "%channelcolor%[%channelnickname%]&r %message%"
DynmapNameFormat: "[Discord | %toprolealias%] %username%"
DynmapChatFormat: "%message%"
DynmapDiscordFormat: "[Dynmap] %name% » %message%"
DiscordConsoleChannelFormat: "[%datetime% %level%] %line%"
DiscordConsoleChannelMessagePrefix: ""
DiscordConsoleChannelMessageSuffix: ""
DiscordChatChannelConsoleCommandNotifyErrorsFormat: "**%user%**, Bazı komutları kullanmaya çalıştın. Ama hata verdi: %error%"
DiscordChatChannelListCommandFormatOnlinePlayers: "**Çevrimiçi Oyuncular: (%playercount%):**"
DiscordChatChannelListCommandFormatNoOnlinePlayers: "**Çevrimiçi Oyuncu Yok**"
DiscordChatChannelListCommandPlayerFormat: "%displayname%"
DiscordChatChannelListCommandAllPlayersSeparator: ", "
MinecraftPlayerJoinMessage:
  Enabled: true
  Webhook:
    Enable: false
    AvatarUrl: "%botavatarurl%"
    Name: "%botname%"
  Content: ""
  Embed:
    Enabled: true
    Color: "#00ff00"
    Author:
      ImageUrl: "%embedavatarurl%"
      Name: "%username% Sunucuya Katıldı! Hadi seni de bekleriz."
      Url: ""
    ThumbnailUrl: ""
    Title:
      Text: ""
      Url: ""
    Description: ""
    Fields: []
    ImageUrl: ""
    Footer:
      Text: ""
      IconUrl: ""
    Timestamp: false
MinecraftPlayerFirstJoinMessage:
  Enabled: true
  Webhook:
    Enable: false
    AvatarUrl: "%botavatarurl%"
    Name: "%botname%"
  Content: ""
  Embed:
    Enabled: true
    Color: "#ffd700"
    Author:
      ImageUrl: "%embedavatarurl%"
      Name: "%username% Sunucumuza ilk defa giriyor. Hoşgeldin!"
      Url: ""
    ThumbnailUrl: ""
    Title:
      Text: ""
      Url: ""
    Description: ""
    Fields: []
    ImageUrl: ""
    Footer:
      Text: ""
      IconUrl: ""
    Timestamp: false
MinecraftPlayerLeaveMessage:
  Enabled: true
  Webhook:
    Enable: false
    AvatarUrl: "%botavatarurl%"
    Name: "%botname%"
  Content: ""
  Embed:
    Enabled: true
    Color: "#ff0000"
    Author:
      ImageUrl: "%embedavatarurl%"
      Name: "%username% Sunucudan ayrıldı."
      Url: ""
    ThumbnailUrl: ""
    Title:
      Text: ""
      Url: ""
    Description: ""
    Fields: []
    ImageUrl: ""
    Footer:
      Text: ""
      IconUrl: ""
    Timestamp: false
MinecraftPlayerDeathMessage:
  Enabled: true
  Webhook:
    Enable: false
    AvatarUrl: "%botavatarurl%"
    Name: "%botname%"
  Content: ""
  Embed:
    Enabled: true
    Color: "#000000"
    Author:
      ImageUrl: "%embedavatarurl%"
      Name: "%deathmessage%"
      Url: ""
    ThumbnailUrl: ""
    Title:
      Text: ""
      Url: ""
    Description: ""
    Fields: []
    ImageUrl: ""
    Footer:
      Text: ""
      IconUrl: ""
    Timestamp: false
MinecraftPlayerAchievementMessage:
  Enabled: true
  Webhook:
    Enable: false
    AvatarUrl: "%botavatarurl%"
    Name: "%botname%"
  Content: ""
  Embed:
    Enabled: true
    Color: "#ffd700"
    Author:
      ImageUrl: "%embedavatarurl%"
      Name: "%username% Yeni bir başarım kazandı. İşte kazandığı başarım: %achievement%!"
      Url: ""
    ThumbnailUrl: ""
    Title:
      Text: ""
      Url: ""
    Description: ""
    Fields: []
    ImageUrl: ""
    Footer:
      Text: ""
      IconUrl: ""
    Timestamp: false
ChannelTopicUpdaterChatChannelTopicFormat: "%playercount%/%playermax% Oyuncu Çevrimiçi | %totalplayers% En fazla ulaşılan Oyuncu sayımız | Sunucumuz %uptimemins% dakikadır Çevrimiçi | Son Güncelleme: %date%"
ChannelTopicUpdaterConsoleChannelTopicFormat: "TPS: %tps% | Kullanılan Ram: %usedmemorygb%GB Kullanıldı/%freememorygb%GB Kullanılabilir Ram/%maxmemorygb%GB Maximum Ram|Sunucu Versiyonu %serverversion%"
ChannelTopicUpdaterChatChannelTopicAtServerShutdownFormat: "Sunucumuz Kapalıdır. | %totalplayers% En fazla ulaştığımız oyuncu sayısı."
ChannelTopicUpdaterConsoleChannelTopicAtServerShutdownFormat: "Sunucumuz Kapalıdır. | %serverversion% Sunucu Versiyonu"
DiscordCommandFormat: "&bDiscord sunucumuza girmeyi unutma! {INVITE}."
NoPermissionMessage: "&cBu komutu kullanmak için yetkin yok!"
UnknownCommandMessage: "&bBöyle bir komut yok!"
DiscordChatChannelServerStartupMessage: ":white_check_mark: **Sunucu Başlatılıyor!**"
DiscordChatChannelServerShutdownMessage: ":octagonal_sign: **Sunucu Kapatılıyor!**"
ServerWatchdogMessage: "`%date%` %guildowner%, Sunucu odamız açıktır. :fire::bangbang:"
# Discord
CodeGenerated: "Senin kodun: %code%. Bota DM üzerinden bu kodu at: (%botname%) ."
UnknownCode: "Yanlış Kod!"
InvalidCode: "Kod yanlış!."
DiscordAccountLinked: "Discord Hesabın Oyun hesabına Bağlandı! %name% (%uuid%)"
DiscordAccountAlreadyLinked: "Senin hesabın zaten Discord hesabına bağlı. %username% (%uuid%)"
DiscordLinkedAccountRequired: "Bu komutu kullanmak için Hesabınızı Discord hesabınıza bağlamanız gerekmektedir. `/discord link`. \n```%message%```"
DiscordLinkedAccountCheckFailed: "Bir hata oluştu. Lütfen daha sonra tekrar deneyin."
# Minecraft
ClickToCopyCode: "Tıkla ve Kopyala"
MinecraftAccountLinked: "&bHesabın Discord hesabına bağlandı! %username% (%id%)"
MinecraftAccountAlreadyLinked: "&bSenin hesabın zaten discorda bağlı."
LinkedCommandSuccess: "&bBaşarıyla Discord hesabınız bağlandı. %name%."
UnlinkCommandSuccess: "&bSenin hesabın artık bir Discord hesabına bağlı değil. %name%."
MinecraftNoLinkedAccount: "&cSenin hesabın bir Discord hesabına bağlı değil."
LinkingError: "&cBir hata oluştu. Lütfen daha sonra tekrar deneyiniz."
MinecraftNobodyFound: "&cKimse bulunamadı Bu Discord ID/Discord adında/Minecraft adında/Minecraft UUID eşleşmiyor. \"%target%\"
Bu Rehberim buraya kadardı. Okuduğunuz için teşekkür ederim. İnşallah yararlı olmuşumdur. Sorunuz olursa aşağıya yazmaktan çekinmeyin ;) .
 
Üst