Skocz do zawartości

InviteMe - wprowadź system polecania graczy na swój serwer Minecraft !


krzysek

Ocena pluginu InviteMe  

25 użytkowników zagłosowało

  1. 1. Jak oceniasz plugin InviteMe (w skali od 1 do 5) ?

    • 1 - Jizz... po co to komu ?
    • 2 - Raczej go nie sprawdzę...
    • 3 - Średniak. Może kiedyś na niego lookne...
    • 4 - Dobry, po prostu okej.
    • 5 - Super, napewno się przyda :)


Rekomendowane odpowiedzi

OX6iI8m.png

InviteMe - wprowadź system polecania graczy na swój serwer Minecraft !
Zapraszaj znajomych i zgarniaj nagrody !

z7u2y9a.png

0toyEKR.png

inviteme.default - podstawowe uprawnienia pluginu (rekomendowane dla graczy)                      
inviteme.* - dostęp do wszystkich możliwości dodatku (rekomendowane dla administratorów)

Posiadanie /op daje ten sam dostęp, co uprawnienie (inviteme.*)

 

z7u2y9a.png

JN3PwvA.png

/inviteme - komendy pluginu (inviteme.default)                                                         
/inviteme recommend [gracz*] - rekomendacja gracza (inviteme.default)           
/inviteme stats [gracz] - statystki gracza (inviteme.default)                                    
/inviteme prizes - nagrody (inviteme.default)                                                             
/inviteme setpoints [gracz*] [ilość*] - ustawia punkty gracza (inviteme.*)           
/inviteme setinvites [gracz*] [ilość*] - ustawia zaproszenia gracza (inviteme.*) 
/inviteme reload - przeładowywuje plik konfiguracyjny (inviteme.*)                       

Komenda /inviteme posiada również swój alias - /invme.

 

z7u2y9a.png

7EN2GYK.png

# © krzysek (git: loonypl)
# InviteMe configuration file
#
# Permissions:
#  - inviteme.default - default access (for players)
#  - inviteme.*       - super access   (for admins)
#
# MySQL - Configuration
#
mysql:
  user: 'root'
  password: '123'
  host: '127.0.0.1'
  port: '3306'
  database: 'inviteme'
#
# Recommendations - Configuration
#
recommendations:
  # points per recommendation
  points: 10
#
# Prizes - Configuration
#
prizes:
  # gui configuration
  gui:
    # gui name
    # %player%   - player's name
    # %points%   - player's points
    # %invites%  - player's invites
    name: '&8%player% &e| &8Points: &e%points%'
    # texts
    texts:
      name: 'Name'
      description: 'Description'
      price: 'Price (points)'
    # gui size
    size: 27
    # active prizes (split prize-IDs by ';')
    active: 'prize1;prize2'
    # prizes set
    set:
      # first prize
      prize1:
        # prize position in gui
        position: 12
        # prize item (in gui)
        item: 'GRASS'
        # prize name
        name: '&eGamemode 1'
        # prize description
        description: '&eChange your gamemode to creative ! :D'
        # prize price (in points)
        price: 100
        # prize recieve message
        message: '&aIts nice to hear you invite friends ! :)'
        # commands
        commands:
          - 'gamemode 1 %player%'
      # second prize
      prize2:
        # prize position in gui
        position: 14
        # prize item (in gui)
        item: 'DIAMOND'
        # prize name
        name: '&e2 Diamonds'
        # prize description
        description: '&eRecieve 2 diamonds :)'
        # prize price (in points)
        price: 10
        # prize recieve message
        message: '&aOoo... its shining... :O'
        # commands
        commands:
          - 'give %player% diamond 2'

#
# Messages - Configuration
#
messages:
  # incorrect usage
  usage: '&cIncorrect usage. Get more info at &f/inviteme'
  # no access
  no-access: '&cYou do not have permission to this !'
  # player not found
  player-not-found: '&cPlayer is not online ! :('
  # player not found in database
  player-not-found-db: '&cPlayer not found in database'
  # not numeric
  not-numeric: '&cGiven argument is not numeric. Get more info at &f/inviteme'
  # invites set
  invites-set: '&aInvites of &6%player% &ahas been set to &6%amount% &7!'
  # invites set
  points-set: '&aPoints of &6%player% &ahas been set to &6%amount% &7!'
  # already recommended
  already-recommended: '&cYou have already recommended the player !'
  # successfully recommended
  success-recommended: '&aYou have recommended &6%player% &a! :)'
  # successfully recommended (message to recommended player)
  success-recommended-recieved: '&aYou have recieved points by recommending &6%player% &a! Nice :)'
  # unsuccessfully recommended
  fail-recommended: '&cYou cannot recommended yourself ! :('
  # not enough points
  not-enough-points: '&cYou do not have enough points ! :('
  # configuration reloaded
  config-reloaded: '&aConfiguration reloaded !'
  # message sent to player on join
  on-join:
    enable: true
    message: '&7Help our server - invite friends and get prizes ! :) More at &f/inviteme'
  # /inviteme stats
  stats-command:
    nickname: 'Nickname'
    invites: 'Invites'
    points: 'Points'
    recommended: 'Recommended'
    recommended-yes: 'Yes'
    recommended-no: 'No'

Plik konfiguracyjny nie należy do najbardziej przejrzystych, ale spełnia swoją funkcję c:

 

z7u2y9a.png

KmN7OfJ.png

Pobierz: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! (Mediafire)
Skan [.jar]: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!  (VirusTotal)

InviteMe na GitHub'ie: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Masz jakiś pomysł lub problem ?
Zgłoś go tutaj:

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

 

z7u2y9a.png

Plugin działa na serwerach Minecraft dla wersji 1.12.2.

z7u2y9a.png

@Update 1.2.1:

  • Dodano sprawdzanie połączenia z bazą danych MySQL;                                            
  • Dodano wiadomość po nieudanym wykonaniu polecenia do MySQL (config.yml);
Edytowane przez krzysek
Odnośnik do komentarza
Udostępnij na innych stronach

Nie używaj mysql bezpośrednio w komendach w głównym wątku serwera, ktoś może spamować komendą i znacznie spowolnić serwer. Do tego nie sprawdzasz czy połączenie dalej jest "żywe" jak serwer długo nic nie będzie robił to połączenie może dostać timeouta i wszystkie kolejne operacja wywalą błędem. Do tego łapiesz sobie SQLException ale nic z nim nie robisz, ot wypisujesz do konosli, a gracz co wpisał komendę nie widzi żadnego outputu i nie wie co się dzieje. Tak samo powinno się uniknąć używnaia MySQL w dowolnych eventach, chyba ze są Async - ale wtedy i tak zazwyczaj lepiej unikać.

No i po co aż 100 znaków na nick czy ip?

 

Np by zrobić GUI możesz po wpisaniu komendu rozpoczać task Async i w nim pobrać wszystkie potrzebne dane z MYSQL i je przygotować, i wtedy odpalić kolejny task już sync i otworzyć te EQ z już gotowymi danymi. I tak z każdą komendą co używa jakiejś bazy danych.

 

Odnośnik do komentarza
Udostępnij na innych stronach

@GotoFinal

34 minuty temu, GotoFinal napisał:

Nie używaj mysql bezpośrednio w komendach w głównym wątku serwera, ktoś może spamować komendą i znacznie spowolnić serwer. Do tego nie sprawdzasz czy połączenie dalej jest "żywe" jak serwer długo nic nie będzie robił to połączenie może dostać timeouta i wszystkie kolejne operacja wywalą błędem. Do tego łapiesz sobie SQLException ale nic z nim nie robisz, ot wypisujesz do konosli, a gracz co wpisał komendę nie widzi żadnego outputu i nie wie co się dzieje. Tak samo powinno się uniknąć używnaia MySQL w dowolnych eventach, chyba ze są Async - ale wtedy i tak zazwyczaj lepiej unikać.

No i po co aż 100 znaków na nick czy ip?

 

Np by zrobić GUI możesz po wpisaniu komendu rozpoczać task Async i w nim pobrać wszystkie potrzebne dane z MYSQL i je przygotować, i wtedy odpalić kolejny task już sync i otworzyć te EQ z już gotowymi danymi. I tak z każdą komendą co używa jakiejś bazy danych.

 

Dzięki za opinię. Napewno się do tego zastosuje :)
Te 100 znaków było tak na "wszelki wypadek", nigdy nie wiadomo :D Zmienię to c:

@Edit
Jeśli chodzi o exceptions'y - już wcześniej o tym pomyślałem i dodałem to do listy to-do :)

Edytowane przez krzysek
Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...