1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

"Вот это да!" или minecraft на C++

Тема в разделе "Альтернативные серверные платформы", создана пользователем mihannik, 3 ноя 2013.

  1. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    С официально скоро будет и для линукса
     
  2. InterWall

    InterWall Старожил Пользователь

    Баллы:
    173
    Ещё раз. Кто будет официально для линукса?
     
  3. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Немного неточно выразился. Microsoft сделают оффициальную поддержку .NET для линукса, тем более он будет опенсурс. Ещё сделают новый бесплатный VS. Пруф потерял и не могу найти :(
     
  4. InterWall

    InterWall Старожил Пользователь

    Баллы:
    173
    А, ты об этом? Это я знаю.
     
  5. CrafterX

    CrafterX Участник Пользователь

    Баллы:
    31
    Класс
    Класс
     
  6. Minecrafter1337

    Minecrafter1337 Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Pelmeshka
    Minecraft на хавоке ???
     
  7. GameTK

    GameTK Активный участник Пользователь

    Баллы:
    76
    Skype:
    andre_a97
    Имя в Minecraft:
    GameTK
    о да :lol:
     
  8. InterWall

    InterWall Старожил Пользователь

    Баллы:
    173
    Только не на хавоке. Поиграйте в sonic 2006 и сразу поймёте. Особенно миссию с шаром.
     
  9. Minecrafter1337

    Minecrafter1337 Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Pelmeshka
    :D
     
  10. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Сладкие, MC под вин10 написан как раз на плюсах. Релиз через 4 дня.
     
  11. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Обычная жаба...
     
  12. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Где?
     
  13. Tiberiumk

    Tiberiumk Активный участник Пользователь

    Баллы:
    76
    Вот единственный из всех проект сервера Minecraft на C++, который многого добился! https://github.com/cuberite/cuberite
    P.S:Он постоянно обновляется(бывший MCServer), реализована поддержка Lua плагинов, самих плагинов написано мало, но они неплохие :)
    P.P.S:Плагины писать не так уж и сложно, вот туториал http://api-docs.cuberite.org/Writing-a-MCServer-plugin.html
    Кстати, в самом ядре уже встроены 3 плагина) Так же встроена веб-панель ( http://52.11.39.203:8080/ на моей впске), логин и пасс admin. Есть пермишины, группы,префиксы
    ВЕРСИИ - 1.7.x-1.8.x (сам заходил с 1.7.10 и 1.8.8 , всё работает)
    Не для рекламы - IP для теста 52.11.39.203:25565
    Запуск без генерации(когда мир уже сгенерирован) занимает 590ms !!! (Я конечно понимаю, это потому, что плагинов мало, но сильно это время не изменится, даже при большом кол-ве плагинов)
    Вот готовый плагин(взят с той же ссылки, взрывает другого игрока по команде, или если пинг больше 100, то игрок не сможет подобрать предметы xD):
    Код:
    function Initialize(Plugin)
        Plugin:SetName("DerpyPluginThatBlowsPeopleUp")
        Plugin:SetVersion(9001)
    
        cPluginManager.BindCommand("/explode", "derpyplugin.explode", Explode, " ~ Explode a player");
    
        cPluginManager:AddHook(cPluginManager.HOOK_COLLECTING_PICKUP, OnCollectingPickup)
    
        LOG("Initialised " .. Plugin:GetName() .. " v." .. Plugin:GetVersion())
        return true
    end
    
    function Explode(Split, Player)
        if (#Split ~= 2) then
            -- There was more or less than one argument (excluding the "/explode" bit)
            -- Send the proper usage to the player and exit
            Player:SendMessage("Usage: /explode [playername]")
            return true
        end
    
        -- Create a callback ExplodePlayer with parameter Explodee, which MCS calls for every player on the server
        local HasExploded = false
        local ExplodePlayer = function(Explodee)
            -- If the player we are currently at is the one we specified as the parameter
            if (Explodee:GetName() == Split[2]) then
                -- Create an explosion at the same position as they are; see API docs for further details of this function
                Player:GetWorld():DoExplosionAt(Explodee:GetPosX(), Explodee:GetPosY(), Explodee:GetPosZ(), false, esPlugin)
                Player:SendMessageSuccess(Split[2] .. " was successfully exploded")
                HasExploded = true;
                return true -- Signalize to MCS that we do not need to call this callback for any more players
            end
        end
    
        -- Tell MCS to loop through all players and call the callback above with the Player object it has found
        cRoot:Get():FindAndDoWithPlayer(Split[2], ExplodePlayer)
    
        if not(HasExploded) then
            -- We have not broken out so far, therefore, the player must not exist, send failure
            Player:SendMessageFailure(Split[2] .. " was not found")
        end
    
        return true
    end
    
    function OnCollectingPickup(Player, Pickup) -- Again, see the API docs for parameters of all hooks. In this case, it is a Player and Pickup object
        if (Player:GetClientHandle():GetPing() > 100) then -- Get ping of player, in milliseconds
            return true -- Discriminate against high latency - you don't get drops :D
        else
            return false -- You do get the drops! Yay~
        end
    end
     
    Последнее редактирование: 10 авг 2015
  14. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Это тот который улетает в фаталл еррор, стоит дунут пачкой ботов? Момним скорбим :D.
     
  15. Tiberiumk

    Tiberiumk Активный участник Пользователь

    Баллы:
    76
    Когда он улетал? Примерное время(месяц) скажи, когда тестировал. Просто они его в 2015 сильно развивать начали, много разрабов присоединилось
     
  16. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну юзани гравибот или деадбот, сам узнаешь. Улетит на первых же секундах в фаталл.
    Самый прикол сто они дже не входят, а серверу писец приходит.
     
  17. Tiberiumk

    Tiberiumk Активный участник Пользователь

    Баллы:
    76
    Сейчас попробовал с деадботом 2.9, просто ошибка выходит в консоли серверной, то что неподдерживаемый протокол.
    Попробовал с последней версией деадбота, попробовал там все версии, боты заходили с 1.7.2-1.7.5 , и с какой то другой версии в консоли ошибка красная была , типа неизвестный пакет, и бота просто кикнуло xD . Походу, починили они эту багу
     
  18. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну это хорошо если починили. Ну все равно это пустышка, плагины хз на чем, нет комблоков и прочих плюшек.
     
  19. fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Ну Москва не сразу строилась. Хорошо что они развивают такую идею. Буду поглядывать в их сторону, вдруг что-то интересное получится.
     
  20. Tiberiumk

    Tiberiumk Активный участник Пользователь

    Баллы:
    76
    Там скриптовый Lua , он почти как Python. В настоящее время плагинов не так много, но зато сервер с генерацией мира запускается 6 сек, без генерации - 500~600 мс
    И это ядро поддерживает последнюю версию Minecraft'а
    Уже сейчас можно сделать простой сервер на этом ядре(сурвивал), т.к. приваты, пароли,пермишины, essentials есть. Правда понадобится VPS или VDS , т.к. это нативное приложение
     

Поделиться этой страницей