Hotfix mongo`s bugs
Signed-off-by: Dmitrii <computer@yawaflua.tech> Took 17 minutes
This commit is contained in:
@@ -93,7 +93,7 @@ public class TransactionsController(AppDbContext context, ILogger<TransactionsCo
|
|||||||
SenderCardNumber = cardToUse.SpworldsID,
|
SenderCardNumber = cardToUse.SpworldsID,
|
||||||
SenderMinecraftName = user.Username,
|
SenderMinecraftName = user.Username,
|
||||||
Amount = body.amount,
|
Amount = body.amount,
|
||||||
Comment = body.comment,
|
Comment = body.comment
|
||||||
};
|
};
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -418,8 +418,8 @@
|
|||||||
<div class="logo-text">SPMega</div>
|
<div class="logo-text">SPMega</div>
|
||||||
</a>
|
</a>
|
||||||
<div class="meta-info">
|
<div class="meta-info">
|
||||||
<div>Версия: <span class="badge">1.0.0-2026</span></div>
|
<div>Версия: <span class="badge">1.0.1-2026</span></div>
|
||||||
<div style="margin-top: 4px;">Обновлено: 28 июня 2026</div>
|
<div style="margin-top: 4px;">Обновлено: 12 июля 2026</div>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
@@ -490,7 +490,11 @@
|
|||||||
<li>Время первой и последующих авторизаций.</li>
|
<li>Время первой и последующих авторизаций.</li>
|
||||||
<li>Ваш текущий IP-адрес для предотвращения и выявления попыток взлома API.</li>
|
<li>Ваш текущий IP-адрес для предотвращения и выявления попыток взлома API.</li>
|
||||||
<li>Техническую информацию о транзакциях (суммы, комментарии, номера виртуальных счетов/карт и идентификаторы).</li>
|
<li>Техническую информацию о транзакциях (суммы, комментарии, номера виртуальных счетов/карт и идентификаторы).</li>
|
||||||
|
<li>Технические характеристики устройства: процессор, видеокарту, объем оперативной памяти, операционную систему и название компьютера.</li>
|
||||||
|
<li>Показатели производительности мода, включая FPS и тайминги запросов.</li>
|
||||||
|
<li>Трассировочную информацию о запросах к серверной части SPMega для диагностики ошибок и улучшения качества мода.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<p>Количество передаваемой телеметрии можно уменьшить в настройках модификации.</p>
|
||||||
<p>Мы не сохраняем:</p>
|
<p>Мы не сохраняем:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Токен карты «КАК ЕСТЬ», данные шифруются по протоколу AES-256-CBC, и только после этого сохраняются в базе данных.</li>
|
<li>Токен карты «КАК ЕСТЬ», данные шифруются по протоколу AES-256-CBC, и только после этого сохраняются в базе данных.</li>
|
||||||
@@ -504,10 +508,11 @@
|
|||||||
<p>Мы высоко ценим доверие наших пользователей и гарантируем сохранность собираемой информации. Все личные данные передаются и обрабатываются по защищенным зашифрованным каналам связи (HTTPS/SSL).</p>
|
<p>Мы высоко ценим доверие наших пользователей и гарантируем сохранность собираемой информации. Все личные данные передаются и обрабатываются по защищенным зашифрованным каналам связи (HTTPS/SSL).</p>
|
||||||
<p>Администрация сайта строго обязуется:</p>
|
<p>Администрация сайта строго обязуется:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>Не передавать, не продавать и не распространять</strong> ваши личные данные, IP-адреса и статистику третьим лицам.</li>
|
<li><strong>Не передавать, не продавать и не распространять</strong> ваши личные данные, IP-адреса, телеметрию и статистику третьим лицам.</li>
|
||||||
<li>Использовать собранную анонимизированную статистику исключительно во внутренних аналитических целях для улучшения производительности мода.</li>
|
<li>Использовать собранную анонимизированную статистику исключительно во внутренних аналитических целях для улучшения производительности мода.</li>
|
||||||
<li>Раскрывать информацию только в случаях, прямо предусмотренных действующим законодательством государства Израиль при наличии официальных судебных или правоохранительных запросов.</li>
|
<li>Раскрывать информацию только в случаях, прямо предусмотренных действующим законодательством государства Израиль при наличии официальных судебных или правоохранительных запросов.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<p>По юридическим вопросам свяжитесь с нами по электронной почте <a href="mailto:yawaflua@outlook.co.il">yawaflua@outlook.co.il</a> или в Telegram: <a href="https://t.me/meharmen">@meharmen</a>.</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- Section 6 -->
|
<!-- Section 6 -->
|
||||||
|
|||||||
@@ -587,7 +587,7 @@
|
|||||||
|
|
||||||
<div class="meta-row">
|
<div class="meta-row">
|
||||||
<span class="meta-label">Отправитель:</span>
|
<span class="meta-label">Отправитель:</span>
|
||||||
<span class="meta-value bold">${escapeHtml(transaction.sender?.username || 'Клиент SPMega')}</span>
|
<span class="meta-value bold">${escapeHtml(transaction.senderMinecraftName || 'Клиент SPMega')}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="meta-row">
|
<div class="meta-row">
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ package git.yawaflua.tech.spmega.client.telemetry;
|
|||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
import oshi.SystemInfo;
|
||||||
|
import oshi.hardware.CentralProcessor;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
@@ -12,12 +14,14 @@ import java.nio.file.FileStore;
|
|||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
|
||||||
public final class SystemInfoCollector {
|
public final class SystemInfoCollector {
|
||||||
private static final SystemInfoCollector INSTANCE = new SystemInfoCollector();
|
private static final SystemInfoCollector INSTANCE = new SystemInfoCollector();
|
||||||
private static final long MB = 1024L * 1024L;
|
private static final long MB = 1024L * 1024L;
|
||||||
|
|
||||||
|
private final CentralProcessor cpu = new SystemInfo().getHardware().getProcessor();
|
||||||
private final AtomicReference<String> cachedIp = new AtomicReference<>("<unknown>");
|
private final AtomicReference<String> cachedIp = new AtomicReference<>("<unknown>");
|
||||||
private final AtomicReference<String> gpuRenderer = new AtomicReference<>("<pending>");
|
private final AtomicReference<String> gpuRenderer = new AtomicReference<>("<pending>");
|
||||||
private final AtomicReference<String> gpuVendor = new AtomicReference<>("<pending>");
|
private final AtomicReference<String> gpuVendor = new AtomicReference<>("<pending>");
|
||||||
@@ -69,6 +73,9 @@ public final class SystemInfoCollector {
|
|||||||
|
|
||||||
Runtime rt = Runtime.getRuntime();
|
Runtime rt = Runtime.getRuntime();
|
||||||
info.addProperty("cpuCores", rt.availableProcessors());
|
info.addProperty("cpuCores", rt.availableProcessors());
|
||||||
|
info.addProperty("cpuName", cpu.getProcessorIdentifier().getName());
|
||||||
|
info.addProperty("cpuCurrentFrequencyHz", Arrays.stream(cpu.getCurrentFreq()).max().orElse(0));
|
||||||
|
info.addProperty("cpuMaxFrequencyHz", cpu.getMaxFreq());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var osBean = java.lang.management.ManagementFactory.getOperatingSystemMXBean();
|
var osBean = java.lang.management.ManagementFactory.getOperatingSystemMXBean();
|
||||||
|
|||||||
Reference in New Issue
Block a user