Задать вопрос
  • Почему не отправляются письма по SMTP с сервера Ubuntu, но с локалки Windows все хорошо?

    @Senture Автор вопроса
    Спасибо всем огромное! Помог топик с issue на github. Ссылку предоставил пользователь AlexVWill в комментариях!

    А именно 1ый пункт
    1. Comment out the ssl_conf value in /etc/ssl/openssl.cnf
    2. Uninstall OpenSSL 1.0.x
    3. Set CLR_OPENSSL_VERSION_OVERRIDE=1.1 to force OpenSSL 1.1 to be used. (2.1 prefers binding to OpenSSL 1.0.x because that's what it shipped with... it only uses 1.1 if explicitly told to, or if 1.0 isn't available)
    Ответ написан
    Комментировать
  • Как в markdown (obsidian) разместить 2 alert в одной строчке?

    @Senture Автор вопроса
    Решено, ответ был по ссылке в самом низу xD

    65a50dcb143d1301340444.png

    P.S. Спасибо пользователю IvanU7n )
    Ответ написан
    Комментировать
  • Куда положить dump.sql для автоподнятия БД с нужного дампа Docker?

    @Senture Автор вопроса
    Разобрался.

    Вот мой код:
    version: "2.15.1"
    
    services:
      postgres:
        image: postgres:13.3
        environment:
          POSTGRES_DB: "username"
          POSTGRES_USER: "username"
          POSTGRES_PASSWORD: "username"
          PGDATA: "/var/lib/postgresql/data/pgdata"
        volumes:
          - ./Initer:/docker-entrypoint-initdb.d
          - usr-data:/var/lib/postgresql/data
        ports:
          - "5437:5432"
    
    volumes:
      usr-data:


    В этом случае, нужно создать директорию Initer в корне (где лежит docker-compose.yml) и в нее положить необходимый dump.sql и все работает.

    Важно!: Если папку не создать, она появится автоматически после docker-compose up. Но будет естественно пустой, и даже если сделать down, в папку положить дамп, и поднять приложение (docker-compose up) бэкап уже не накатится, т.к. БД уже была проинициализирована ранее и никакие изменения к ней применяться не будут.

    Прошу прощения за такие глупые вопросы :D
    Ответ написан
    6 комментариев
  • С чего начать изучение C Sharp чайнику?

    @Senture
    Из ютуба, как на самое начало Гоша Дударь, он базовые вещи рассказывал по шарпу, у Романа Сакутина есть более крутые видосы, Code Blog крутые стримы и видосы по шарпу в целом. А еще ExtrimeCode. Это те кого я бвстро вспомнил, аоторые для новичка подойдут, а так на ютубе еще достаточно крутых каналов

    С книгами для начинающих в программировании, не согласен, новичек в этой теме захлебнется в воде и не понимании какую информацию подчеркнуть и что ему нужно а что нет.

    Metanit крутой сайт.
    Ответ написан
  • Как избавиться от нагромождения при переходе?

    @Senture
    Вопрос не совсем понятен, но попробуй так:
    ManagerAgents taskWindow = new ManagerAgents();
    this.Hide();
    taskWindow.ShowDialog();
    this.Show();
    Ответ написан
    Комментировать
  • Android Studio подключение к БД MS SQL 2016?

    @Senture Автор вопроса
    Проблема решена!
    Вот так:
    5c69052d45d74462971609.png
    В структуре проекта я добавил модуль в сам проект ( подробнее объяснить не смогу т.к. сам не понимаю как это работает )
    Ответ написан
    Комментировать
  • Зависание сцены во время получения сообщения с сервера, что делать?

    @Senture Автор вопроса
    Решил проблему так:
    void Start()
        {
            Thread t = new Thread(ReceiveData);
            t.Start();
        }
    
        private void ReceiveData()
        {
            while (true)
            {
                if (connected)
                {
                    Debug.Log("Run");
                    try
                    {
                        int bytes = 0; // Счетчик полученных байт с сервера
                        byte[] buffer = new byte[1024]; // Массив байт, для данных полученных с сервера
    
                        StringBuilder builder = new StringBuilder();
    
                        do
                        {
                            bytes = socket.Receive(buffer); // Прием данных от сервера
                            builder.Append(Encoding.UTF8.GetString(buffer, 0, bytes)); // Строим сообщение из полученных данных ( массива байт )
                        }
                        while (socket.Available > 0);
    
                        string[] allInfo = builder.ToString().Split(';');
                        for (int i = 0; i < allInfo.Length; i++)
                        {
                            string[] info = allInfo[i].Split('|');
    
                            Action action = () => { data.Add(info[0], info[1] + '|' + info[2] + '|' + info[3]); };
                            action.Invoke(); 
                        }
                    }
                    catch (Exception ex)
                    {
                        Debug.Log("Error in Helper.FixedUpdate: " + ex.Message);
                    }
                }
            }
        }

    Все прекрасно работает =)
    Всем огромное спасибо!
    Ответ написан
    Комментировать
  • Не получается сделать отправку сообщения с одного пк на другой подключенных к интернету по UDP?

    @Senture Автор вопроса
    Ответ найден:
    В качестве ip в приложении сервера необходимо указывать 0.0.0.0 для прослушивания всех интерфейсов. Собственно и все.
    Ответ написан
    Комментировать
  • Что посоветуете для написания сервера под мультиплеерную 3d игру на Unity?

    @Senture Автор вопроса
    Ребят всем спасибо за все ваши советы. Я уже имею представление в написание сервера, еще я вычитал что использование tcp в action играх очень плохо сказывается на ping'е, вот сижу изучаю udp который лучше подойдет для этого.
    Ответ написан
    Комментировать
  • Как синхронизировать GameObject(пулю) в мультиплеере на Unity?

    @Senture Автор вопроса
    Реализовал вот так:
    spoiler
    [SyncVar] Vector3 syncBulletStartPosition;
        [SyncVar] Quaternion syncBulletStartRotation;
        [SyncVar] bool syncTrueFire;
    
        /// <summary>
        /// Метод для осуществления стрельбы
        /// </summary>
        private void Update()
        {
            if(isLocalPlayer)
            {
                if (Input.GetButton("Fire1"))
                {
                    //CmdShoot();
    
                    int weapon = 0;
                    // Create the Bullet from the Bullet Prefab
                    GameObject bullet = (GameObject)Instantiate(
                        bulletPref[weapon],
                        bulletPivot[weapon].position,
                        bulletPivot[weapon].rotation);
    
    
                    CmdSendBullet(bulletPivot[weapon].position, bulletPivot[weapon].rotation);
                }
            }
        }
    
        [Command]
        void CmdSendBullet(Vector3 startPosition, Quaternion startRotation)
        {
            syncBulletStartPosition = startPosition;
            syncBulletStartRotation = startRotation;
            syncTrueFire = true;
        }
    
        /// <summary>
        /// Вызов всех еобходимых методов для смены и синхронизации оружия
        /// </summary>
        void FixedUpdate()
        {
            SpawnBulletToAllClients();
        }
    
        void SpawnBulletToAllClients()
        {
            if (!isLocalPlayer)
            {
                if (syncTrueFire == true)
                {
                    int weapon = 0;
    
                    GameObject bullet = (GameObject)Instantiate(
                        bulletPref[weapon],
                        bulletPivot[weapon].position,
                        bulletPivot[weapon].rotation);
    
                    CmdSyncTrueFire();
                    syncTrueFire = false;
                }
            }
        }
    
        [Command]
        void CmdSyncTrueFire()
        {
            syncTrueFire = false;
        }



    P.S. Спасибо большое всем, отдельное спасибо GavriKos
    Ответ написан
    Комментировать
  • Синхронизация выбранного оружия для каждого из игроков в мультиплеерном шутере на Unity?

    @Senture Автор вопроса
    Проблема решена, это было из за того что 2 приложения клиент и сервер были запущены на 1пк, после того как сервер и клиент были запущены на разных пк, почти все заработало, но почему то клиент видит как сервер меняет оружие, а сервер не видит как клиент меняет оружие. Есть у кого варианты решения данной задачки?

    Что никто не знает как это сделать? Я уже весь инет перерыл по поводу смены оружия в мультиплеере и его синхронизацию но пусто!!! Помогите -_- пожалуйста)

    Решение:
    spoiler
    using UnityEngine;
    using UnityEngine.Networking;
    
    public class PlayerScrolWeapon : NetworkBehaviour
    {
        public GameObject[] weapon;
        [SyncVar] int syncWeaponIndex;
        private int weaponIndex = 0;
    	
        [Client]
    	void FixedUpdate()
        {
            ScrolWeapon();
            if(isLocalPlayer)
                CmdSendToServerSyncWeapon(weaponIndex);
            SendToClientSyncWeapon();
    	}
    
        void ScrolWeapon()
        {
            if(isLocalPlayer)
            {
                if(Input.GetAxisRaw("Mouse ScrollWheel") > 0f)
                {
                    if (weaponIndex > 3)
                        weaponIndex = 0;
                    else
                        weaponIndex++;
                }
                else if(Input.GetAxisRaw("Mouse ScrollWheel") < 0f)
                {
                    if (weaponIndex < 0)
                        weaponIndex = 3;
                    else
                        weaponIndex--;
                }
    
                for (int i = 0; i < 4; i++)
                    if (i == weaponIndex)
                        weapon[i].SetActive(true);
                    else
                        weapon[i].SetActive(false);
            }
        }
    
        void SendToClientSyncWeapon()
        {
            if(!isLocalPlayer)
            {
                for (int i = 0; i < 4; i++)
                    if (i == syncWeaponIndex)
                        weapon[i].SetActive(true);
                    else
                        weapon[i].SetActive(false);
            }
        }
    
        [Command]
        void CmdSendToServerSyncWeapon(int _weaponIndex)
        {
            syncWeaponIndex = _weaponIndex;
        }
    }



    Это 1 скрипт который отвечает и за смену оружия и за его синхронизацию, может кому то пригодится.

    P.S. Тема закрыта!
    Ответ написан
    Комментировать
  • Unity Network как уменьшить ping?

    @Senture Автор вопроса
    Оказалось что я просто не правильно настроил NetworkManager и NetworkTransform.

    P.S. Всем большое спасибо!!!
    Ответ написан
  • Не устанавливается MAGIX Vegas Pro 15. Как установить?

    @Senture Автор вопроса
    Проблема решена! В корневой папке ...\Vegas Pro N
    где n версия vegas, находиться папка х86. Удаляем ее нафиг и все супер!!!!)))
    Ответ написан
    Комментировать