DMOJ Introduces Innovative Way to Submit


posted on April 1, 2020, 12:00 a.m.

Update: The server has been taken down. If you wish to run your own instance, the plugin is available here.

DMOJ has always been at the forefront of Online Judge technology. Its early introduction of good design ushered in a whole new generation of well designed Modern Online Judges.

Today, DMOJ: Modern Online Judge is hoping to continue that innovation with our newest product that will revolutionize the Online Judge industry forevermore.

DMOJ-over-Minecraft is an innovative new system that opens participation on the platform to a whole new subset of users: Minecraft players.

A New System

Our new system allows you to join contests and submit to problems inside Minecraft. To do this, we created a Minecraft server and a custom plugin to facilitate joining and submitting.

Using the book and quill item in Minecraft, you can write sophisticated code with a simple and easy to use interface.

Steps

Our new system is easy to use. Simply join our server at mc.dmoj.ca (v1.15.2 client required) and follow the following steps:

  1. Obtain your API token from your profile.

  1. Use the /auth [token] command to authenticate your connection. You should see a message welcoming you if the authentication is successful.

  1. Use the /book command to obtain a book to write your code in.

  1. Use the /submit [problem code] [language] command to submit your code with a language of your choice.

Major Advantages

DMOJ-over-Minecraft is a huge improvement to our current system.

The HTTP protocol, of which DMOJ currently runs on was designed more than 30 years ago. In contrast, the Minecraft protocol was designed only a decade ago. Its design means that less data is required to be transferred compared to our current HTTP system.1

In addition to protocol modernization, due to the lack of a copy system in the Minecraft book interface, the issue of code copying has been solved. Copying books using the crafting method is also disabled.

This new system will also allow help expand the Online Judge market to demographics never before seen on any Online Judge.

With this new system, DMOJ is ushering in a whole new generation of Online Judges, driving more innovation in the space.

Try It!

If you want to try the new and innovative system out for yourself, join with a v1.15.2 client at

mc.dmoj.ca

Source Code

The source code has been released on GitHub with a MIT license.

Find it here.

1 Based on a direct comparison of how much data it takes to load dmoj.ca and its assets vs. how much it takes to join the server.


Comments


  • 21
    Cools  commented on April 2, 2020, 2:19 a.m.

    now you can TLE in minecraft


  • 1
    pblpbl  commented on April 2, 2020, 12:18 a.m.

    This sounds insane I sure hope it isn't april fools


  • 12
    Evan_Real  commented on April 1, 2020, 10:58 p.m.

    Can't believe DMOJ released such an innovative way, I can see the bright future of DMOJ


  • 4
    retamaut  commented on April 1, 2020, 8:03 p.m.

    Is online mode equal to true or false?


    • 4
      c  commented on April 1, 2020, 11:16 p.m.

      For legal reasons, true.


  • 5
    Redstone_ray  commented on April 1, 2020, 7:03 p.m.

    Very creative


  • 5
    alihu264  commented on April 1, 2020, 6:55 p.m.

    did i get banned or did the server shut down lol


  • 10
    bobxiong88  commented on April 1, 2020, 6:47 p.m.

    Anarchy server please


  • 16
    kingW3  commented on April 1, 2020, 4:45 p.m.

    Next step is letting us solve problems by using redstone :)


  • -9
    hamdog  commented on April 1, 2020, 4:10 p.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


  • -3
    Shinichi  commented on April 1, 2020, 3:48 p.m. edited

    innovative!

    :blobhide:


  • -2
    reeXD  commented on April 1, 2020, 2:15 p.m.

    dmoj being creative. i love it.


  • 24
    Encodeous  commented on April 1, 2020, 1:25 p.m.

    This is truly ground block breaking!


  • 16
    faraz123  commented on April 1, 2020, 8:00 a.m. edited

    Wait but does it actually work?

    Edit: WTF they added an account api for april fools


    • 6
      c  commented on April 1, 2020, 3:38 p.m.

      This was actually merged in yesterday. I had to annoy so many people to get it done :(


  • -18
    Plasmatic  commented on April 1, 2020, 5:36 a.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


  • -26
    quentin9909  commented on April 1, 2020, 5:00 a.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


  • 21
    suchaHassle  commented on April 1, 2020, 4:33 a.m.

    A truly modern online judge


  • 23
    Maillew  commented on April 1, 2020, 4:33 a.m.

    This is gonna change the face of competitive programming as a whole


    • 15
      pblpbl  commented on April 2, 2020, 1:40 a.m.

      imagine pvp tiebreakers


  • 26
    hillcrestpaul0719  commented on April 1, 2020, 4:24 a.m.

    this should stay on dmoj