Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 01/17/22 uwzględniając wszystkie działy

  1. Czym ta sieć różni się od innych* z tego typu trybami? Nowy wymiar działek? Czyli nie jest to stawianie bloku/zaznaczanie terenu łopatą? W takim razie wypadałoby podać jakieś szczegóły, żeby rzeczywiście było to zachęcające. Swoją drogą naprawdę do każdego trybu jest przeklejony opis, który ma odrobinę zmienione parę pierwszych wyrazów? Prezentacja kiepsko wykonana, byle by była. W sklepie na stronie widzę takie usługi jak "klucze" czy "zastrzyk gotówki". Mam głęboką nadzieję, że skrzynki które otwiera się tymi kluczami, nie zawierają rzeczy niekosmetycznych, a samej gotówki nie da się zdobyć normalnie grając bez wydawania pieniędzy. Firma jest, jakiś regulamin jest, polityki prywatności tylko brakuje. Niektóre elementy na stronie zawierają polskie znaki, inne nie. Przycisk teamspeaka nie ma żadnego odnośnika. Sam wygląd strony dla mnie jest nawet niezły, responsywność i SSL też jest. Ciężko powiedzieć cokolwiek więcej, bo prezentacja niewiele zawiera.
    1 punkt
  2. Libter

    Cesarski Ekwipunek

    Cesarstwo akceptuje ofertę, za cenę 9 shulkerów przyjmując wynegocjowaną cenę 400D. Proszę o dostarczenie do skrzynek na terenie centrum_s.
    1 punkt
  3. LeviBoyPL

    Code Review.

    Nadal nie poprawiłeś kodu według naszych instrukcji 2. Używasz #prepareStatement, po czym nie używasz najważniejszej funkcji tej metody, czyli parametrów. W zapytaniu używasz znaków zapytania (?), każdy znak zapytania jest indeksowany od 1 w górę. Później dla każdego parametru używasz metody PreparedStatement#setString(1, uuid) analogicznie #setInt(2, kills), #setLong(3, lastLogin) itd.. Poza tym poczytaj sobie https://github.com/RainbowDashLabs/DataSourceSample#why-use-try-with-resources to powinno rozwiązać Twój problem.
    1 punkt
  4. ThePikaczu2002

    Poszukuję budowniczych

    Poszukuję budowniczych do tworzenia nowych trybów na istniejącym już serwerze minecraft Storecraft.pl wersja 1.16.X. Jesteśmy nowszym serwerem, który powoli się rozwija. W planach mamy parę trybów, więc serwer jest przyszłościowy. Rekrutacja odbędzie się na discordzie : https://discord.gg/uMCq2yZ6gc lub Osobiście ThePikaczu2002#3858 Chętne osoby zapraszam do kontaktu.
    1 punkt
  5. zrdzn

    Code Review.

    private Connection connection = SQLiteManager.getConnection(); private PreparedStatement ps; private ResultSet rs; No to chyba to jest największym problemem i przyczyną dlaczego to nie działa, trzy z tych rzeczy automatycznie się zamykają przy try-with-resources i średnio bezpieczne jest przypisywanie jednego pola prepared statement pod 10 różnych zapytań. Lepiej w każdej metodzie osobno w parametrach try pobierać połączenie na nowo i tworzyć w nich odpowiednią zmienną prepared statement, wtedy będziesz miał pewność, że nie będzie jakichś niespodziewanych timeoutów lub zamkniętych połączeń przed ich użyciem. Abstrahując od samego stacktrace, popełniasz ogromny błąd nie escape'ując tych zmiennych w zapytaniach, narażasz się na SQL Injection. Poniżej jest przykładowy kod który miałby to, o czym wspomniałem wyżej. public void increaseDeaths(){ this.deaths++; try { ps = connection.prepareStatement("UPDATE 'players' SET Deaths="+this.deaths+" WHERE UUID LIKE '"+this.uuid+"';"); ps.execute(); } catch (SQLException e) { e.printStackTrace(); } } Zamienić na np.: public void increaseDeaths(){ this.deaths++; try (Connection connection = SQLiteManager.getConnection(); PreparedStatement statement = connection.preparedStatement("UPDATE 'players' SET Deaths=? WHERE UUID LIKE ?;") { statement.setInteger(1, this.deaths); statement.setString(2, this.uuid.toString()); statement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } Nie mam pojęcia czy to połączenie tutaj się nie wykrzaczy z tego powodu, że getConnection() zwraca w tym przypadku zainicjowane połączenie które nawet nie tyka Hikari w żaden sposób, ale na SQLite zbytnio się nie znam więc to takie gdybanie. Moim zdaniem powinieneś na pewno odrobinę popracować nad strukturą tego "modelu". StorePlayer mógłby być zwykłym POJO i zawierać podstawowe pola oraz gettery takie jak znajdują się powyżej, nie łącząc tego w jednej klasie z pewnego rodzaju repozytorium. Zamiast inkrementować w taki sposób śmierci w jakiejś metodzie increaseDeaths(), mógłbyś zrobić sobie klasę która by obrała za argument uuid gracza i na jego podstawie zwiększać liczbę.
    1 punkt
  6. czyli na serwerze można cheatować, tak?
    1 punkt
Ten Ranking jest ustawiony na Warszawa/GMT+02:00
×
×
  • Dodaj nową pozycję...