Go Minecraft Client

Steven

Not actively maintained anymore

A work in progress Minecraft client in Go. Don't expect it to go anywhere, just doing this for fun.

Images

Steven

Steven with Nether style background and a resource pack

Steven's server list after disconnecting from a server

Building

To build:

export GOPATH=your/install/directory
go get github.com/thinkofdeath/steven/cmd/steven

To update, run go get with the -u option.

Requires csfml libraries and headers to build.

What works

  • Connecting to servers
  • Online mode
  • Rendering most blocks
  • Block model support

What doesn't work

  • 99% of Minecraft's features

Chat

I generally am on the irc.spi.gt irc network in the #think channel. Feel free to pop in to say hi, Webchat can be found here

Builds

Latest:

# Linux OS X Windows
x64 linux_amd64.zip Issue windows_amd64.zip
x32 Issue Issue windows_386.zip

Older builds can be found here

Running

Via the Offical Minecraft launcher

Profile example

You need to create a new profile (or edit an existing one) on the Minecraft launcher and modify the profile to look like the above but replace the path to steven with the location you built it at or downloaded it too and change the server parameter to the target server. Currently only works in online mode (with no plans for offline mode currently). If the server parameter isn't passed then a server list will be displayed.

Standalone

Just running steven via a double click (Windows) or ./steven (everything else) will bring up a login screen followed by a server list which you can select a server from.

Providing a username, uuid and access token via the command line as followed: --username <username> --uuid <uuid> --accessToken <access token> will skip the login screen and jump straight to the server list. Providing a server address via --server <server>:<port> will skip the server list and connect straight to the server. As it currently stands providing all the arguments allows for the client to parallelise connecting to the server and loading the textures/models/other assets as a 'quick connect'.

Comments
  • render, render/gl: signal arrived during cgo execution

    render, render/gl: signal arrived during cgo execution

    steven.exe compiled with 64bits on windows, downloaded steven (x64) didn't work too.

    Specs: Windows x64, Intel i5, Asus R7 260X

    Server map is showing for about 200 milis, then the game crashes.

    [More "missing block" spam above]
    Missing block variant (normal) for minecraft:hopper
    Error loading state iron_trap_door: file not found
    Missing block model for minecraft:iron_trap_door
    Missing block variant (normal) for minecraft:hay_block
    Error loading state double_plant: file not found
    Missing block model for minecraft:double_plant
    Error loading state standing_banner: file not found
    Missing block model for minecraft:standing_banner
    Error loading state wall_banner: file not found
    Missing block model for minecraft:wall_banner
    Missing block variant (normal) for minecraft:daylight_detector_inverted
    Unhandled plugin message REGISTER
    The server is running: BungeeCord (git:BungeeCord-Bootstrap:1.8-SNAPSHOT:"fa828eb":1059)
    Unhandled plugin message REGISTER
    The server is running: BungeeCord (git:BungeeCord-Bootstrap:1.8-SNAPSHOT:"fa828eb":1059) <- Spigot
    MSG(0):                                      
    Exception 0xc0000005 0x0 0x82d400e 0x651c9660
    PC=0x651c9660
    signal arrived during cgo execution
    
    github.com/thinkofdeath/gl/v3.2-core/gl._Cfunc_glowDrawElements(0x7ff85db68d80, 0x573000000004, 0x1403, 0x0)
        github.com/thinkofdeath/gl/v3.2-core/gl/_obj/_cgo_gotypes.go:3087 +0x4c
    github.com/thinkofdeath/gl/v3.2-core/gl.DrawElements(0x573000000004, 0x1403, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/gl/v3.2-core/gl/package.go:7175 +0x53
    github.com/thinkofdeath/steven/render/gl.DrawElements(0x4, 0x5730, 0x1403, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/render/gl/gl.go:175 +0x4a
    github.com/thinkofdeath/steven/render.renderBuffer(0xc082021a00, 0x0, 0x5, 0x0, 0x6)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/render/render.go:255 +0x549
    github.com/thinkofdeath/steven/render.Draw(0x356, 0x1e0, 0x3ff9f18a86d71f36)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/render/render.go:180 +0xb37
    github.com/thinkofdeath/steven.draw()
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/steven.go:239 +0x46c
    github.com/thinkofdeath/steven.startWindow()
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/desktop.go:68 +0x2a2
    github.com/thinkofdeath/steven.Main(0xc082008290, 0x6, 0xc082064030, 0x20, 0xc082064060, 0x20, 0xc082008260, 0xb)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/steven.go:89 +0x13b
    main.main()
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/cmd/steven/steven.go:43 +0x25e
    
    goroutine 17 [syscall, locked to thread]:
    runtime.goexit()
        c:/go/src/runtime/asm_amd64.s:2232 +0x1
    
    goroutine 8 [chan receive]:
    github.com/thinkofdeath/steven.writeHandler(0xc082304300)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/network.go:101 +0x15e
    created by github.com/thinkofdeath/steven.startConnection
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/network.go:73 +0x396
    
    goroutine 7 [IO wait]:
    net.(*pollDesc).Wait(0xc08293a170, 0x72, 0x0, 0x0)
        c:/go/src/net/fd_poll_runtime.go:84 +0x4e
    net.(*ioSrv).ExecIO(0xc082430018, 0xc08293a060, 0x96c0e0, 0x7, 0xb6beb8, 0x10, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:188 +0x305
    net.(*netFD).Read(0xc08293a000, 0xc08377819c, 0x7, 0x7, 0x0, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:470 +0x180
    net.(*conn).Read(0xc08204e080, 0xc08377819c, 0x7, 0x7, 0x0, 0x0, 0x0)
        c:/go/src/net/net.go:121 +0xe3
    crypto/cipher.StreamReader.Read(0x630db20, 0xc082bdc050, 0x62cc860, 0xc08204e080, 0xc08377819c, 0x7, 0x7, 0x1c, 0x0, 0x0)
        c:/go/src/crypto/cipher/io.go:20 +0x84
    crypto/cipher.(*StreamReader).Read(0xc083a0e020, 0xc08377819c, 0x7, 0x7, 0x1c, 0x0, 0x0)
        <autogenerated>:11 +0xdd
    io.ReadAtLeast(0x630db48, 0xc083a0e020, 0xc083778180, 0x23, 0x23, 0x23, 0x1c, 0x0, 0x0)
        c:/go/src/io/io.go:298 +0xf8
    io.ReadFull(0x630db48, 0xc083a0e020, 0xc083778180, 0x23, 0x23, 0x23, 0x0, 0x0)
        c:/go/src/io/io.go:316 +0x74
    github.com/thinkofdeath/steven/protocol.(*Conn).ReadPacket(0xc082304300, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/connection.go:163 +0x201
    github.com/thinkofdeath/steven.startConnection(0xc082008290, 0x6, 0xc082064030, 0x20, 0xc082064060, 0x20, 0xc082008260, 0xb)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/network.go:67 +0x31f
    created by github.com/thinkofdeath/steven.connect
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/steven.go:95 +0x7b
    
    goroutine 21 [IO wait]:
    net.(*pollDesc).Wait(0xc083720170, 0x72, 0x0, 0x0)
        c:/go/src/net/fd_poll_runtime.go:84 +0x4e
    net.(*ioSrv).ExecIO(0xc082430018, 0xc083720060, 0x96c0e0, 0x7, 0xb6beb8, 0xd1, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:188 +0x305
    net.(*netFD).Read(0xc083720000, 0xc0828e4800, 0x400, 0x400, 0x0, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:470 +0x180
    net.(*conn).Read(0xc0834ac050, 0xc0828e4800, 0x400, 0x400, 0x0, 0x0, 0x0)
        c:/go/src/net/net.go:121 +0xe3
    crypto/tls.(*block).readFromUntil(0xc083496570, 0x62cc860, 0xc0834ac050, 0x5, 0x0, 0x0)
        c:/go/src/crypto/tls/conn.go:454 +0xed
    crypto/tls.(*Conn).readRecord(0xc082a16000, 0x17, 0x0, 0x0)
        c:/go/src/crypto/tls/conn.go:539 +0x2e1
    crypto/tls.(*Conn).Read(0xc082a16000, 0xc082bce000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        c:/go/src/crypto/tls/conn.go:904 +0x16d
    net/http.noteEOFReader.Read(0x630d700, 0xc082a16000, 0xc082126478, 0xc082bce000, 0x1000, 0x1000, 0xc0830aa200, 0x0, 0x0)
        c:/go/src/net/http/transport.go:1270 +0x75
    net/http.(*noteEOFReader).Read(0xc084007600, 0xc082bce000, 0x1000, 0x1000, 0xc082012000, 0x0, 0x0)
        <autogenerated>:125 +0xdb
    bufio.(*Reader).fill(0xc082c3c840)
        c:/go/src/bufio/bufio.go:97 +0x1d5
    bufio.(*Reader).Peek(0xc082c3c840, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
        c:/go/src/bufio/bufio.go:132 +0xf7
    net/http.(*persistConn).readLoop(0xc082126420)
        c:/go/src/net/http/transport.go:842 +0xab
    created by net/http.(*Transport).dialConn
        c:/go/src/net/http/transport.go:660 +0xca6
    
    goroutine 22 [select]:
    net/http.(*persistConn).writeLoop(0xc082126420)
        c:/go/src/net/http/transport.go:945 +0x424
    created by net/http.(*Transport).dialConn
        c:/go/src/net/http/transport.go:661 +0xcc3
    
    goroutine 105 [IO wait]:
    net.(*pollDesc).Wait(0xc08300a5f0, 0x72, 0x0, 0x0)
        c:/go/src/net/fd_poll_runtime.go:84 +0x4e
    net.(*ioSrv).ExecIO(0xc082430018, 0xc08300a4e0, 0x96c0e0, 0x7, 0xb6beb8, 0x0, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:188 +0x305
    net.(*netFD).Read(0xc08300a480, 0xc08353f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:470 +0x180
    net.(*conn).Read(0xc083138218, 0xc08353f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        c:/go/src/net/net.go:121 +0xe3
    net/http.noteEOFReader.Read(0x62cc860, 0xc083138218, 0xc08244e9f8, 0xc08353f000, 0x1000, 0x1000, 0x865b00, 0x0, 0x0)
        c:/go/src/net/http/transport.go:1270 +0x75
    net/http.(*noteEOFReader).Read(0xc08255f820, 0xc08353f000, 0x1000, 0x1000, 0xc0823ce000, 0x0, 0x0)
        <autogenerated>:125 +0xdb
    bufio.(*Reader).fill(0xc083b78300)
        c:/go/src/bufio/bufio.go:97 +0x1d5
    bufio.(*Reader).Peek(0xc083b78300, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
        c:/go/src/bufio/bufio.go:132 +0xf7
    net/http.(*persistConn).readLoop(0xc08244e9a0)
        c:/go/src/net/http/transport.go:842 +0xab
    created by net/http.(*Transport).dialConn
        c:/go/src/net/http/transport.go:660 +0xca6
    
    goroutine 122 [IO wait]:
    net.(*pollDesc).Wait(0xc083720770, 0x72, 0x0, 0x0)
        c:/go/src/net/fd_poll_runtime.go:84 +0x4e
    net.(*ioSrv).ExecIO(0xc082430018, 0xc083720660, 0x96c0e0, 0x7, 0xb6beb8, 0x0, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:188 +0x305
    net.(*netFD).Read(0xc083720600, 0xc0834ae000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:470 +0x180
    net.(*conn).Read(0xc08285e3e8, 0xc0834ae000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        c:/go/src/net/net.go:121 +0xe3
    net/http.noteEOFReader.Read(0x62cc860, 0xc08285e3e8, 0xc0839185d8, 0xc0834ae000, 0x1000, 0x1000, 0x865b00, 0x0, 0x0)
        c:/go/src/net/http/transport.go:1270 +0x75
    net/http.(*noteEOFReader).Read(0xc08278f4c0, 0xc0834ae000, 0x1000, 0x1000, 0xc0823ce000, 0x0, 0x0)
        <autogenerated>:125 +0xdb
    bufio.(*Reader).fill(0xc082c3ce40)
        c:/go/src/bufio/bufio.go:97 +0x1d5
    bufio.(*Reader).Peek(0xc082c3ce40, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
        c:/go/src/bufio/bufio.go:132 +0xf7
    net/http.(*persistConn).readLoop(0xc083918580)
        c:/go/src/net/http/transport.go:842 +0xab
    created by net/http.(*Transport).dialConn
        c:/go/src/net/http/transport.go:660 +0xca6
    
    goroutine 129 [IO wait]:
    net.(*pollDesc).Wait(0xc083721070, 0x77, 0x0, 0x0)
        c:/go/src/net/fd_poll_runtime.go:84 +0x4e
    net.(*ioSrv).ExecIO(0xc082430e18, 0xc083720fe8, 0x97d0d0, 0x9, 0xb6beb0, 0x0, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:188 +0x305
    net.(*netFD).connect(0xc083720f00, 0x2baefe0, 0xc08255fe80, 0x2baefe0, 0xc08255fe60, 0xecce93d55, 0x1b531d38, 0xd3ace0, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:361 +0x391
    net.(*netFD).dial(0xc083720f00, 0x2baef90, 0x0, 0x2baef90, 0xc083b0fda0, 0xecce93d55, 0x1b531d38, 0xd3ace0, 0x0, 0x0)
        c:/go/src/net/sock_posix.go:139 +0x381
    net.socket(0x975440, 0x3, 0x2, 0x1, 0x0, 0xc083b0fd00, 0x2baef90, 0x0, 0x2baef90, 0xc083b0fda0, ...)
        c:/go/src/net/sock_posix.go:91 +0x377
    net.internetSocket(0x975440, 0x3, 0x2baef90, 0x0, 0x2baef90, 0xc083b0fda0, 0xecce93d55, 0x1b531d38, 0xd3ace0, 0x1, ...)
        c:/go/src/net/ipsock_posix.go:137 +0x14f
    net.dialTCP(0x975440, 0x3, 0x0, 0xc083b0fda0, 0xecce93d55, 0x1b531d38, 0xd3ace0, 0x1, 0x0, 0x0)
        c:/go/src/net/tcpsock_posix.go:156 +0x12c
    net.dialSingle(0x975440, 0x3, 0xc082eef0e0, 0x19, 0x0, 0x0, 0x2baef00, 0xc083b0fda0, 0xecce93d55, 0x1b531d38, ...)
        c:/go/src/net/dial.go:235 +0x3fc
    net.func·016(0xecce93d55, 0x1b531d38, 0xd3ace0, 0x0, 0x0, 0x0, 0x0)
        c:/go/src/net/dial.go:163 +0x133
    net.dial(0x975440, 0x3, 0x2baef00, 0xc083b0fda0, 0xc083b0fdd0, 0xecce93d55, 0xe1b531d38, 0xd3ace0, 0x0, 0x0, ...)
        c:/go/src/net/fd_windows.go:92 +0x122
    net.(*Dialer).Dial(0xc0820044c0, 0x975440, 0x3, 0xc082eef0e0, 0x19, 0x0, 0x0, 0x0, 0x0)
        c:/go/src/net/dial.go:170 +0x6bc
    net.*Dialer.Dial·fm(0x975440, 0x3, 0xc082eef0e0, 0x19, 0x0, 0x0, 0x0, 0x0)
        c:/go/src/net/http/transport.go:38 +0x80
    net/http.(*Transport).dial(0xc082054090, 0x975440, 0x3, 0xc082eef0e0, 0x19, 0x0, 0x0, 0x0, 0x0)
        c:/go/src/net/http/transport.go:479 +0x8b
    net/http.(*Transport).dialConn(0xc082054090, 0x0, 0xc082c3da40, 0x4, 0xc082eef0e0, 0x19, 0xc08244efd0, 0x0, 0x0)
        c:/go/src/net/http/transport.go:564 +0x167f
    net/http.func·019()
        c:/go/src/net/http/transport.go:520 +0x49
    created by net/http.(*Transport).getConn
        c:/go/src/net/http/transport.go:522 +0x33c
    
    goroutine 123 [select]:
    net/http.(*persistConn).writeLoop(0xc083918580)
        c:/go/src/net/http/transport.go:945 +0x424
    created by net/http.(*Transport).dialConn
        c:/go/src/net/http/transport.go:661 +0xcc3
    
    goroutine 106 [select]:
    net/http.(*persistConn).writeLoop(0xc08244e9a0)
        c:/go/src/net/http/transport.go:945 +0x424
    created by net/http.(*Transport).dialConn
        c:/go/src/net/http/transport.go:661 +0xcc3
    
    goroutine 132 [IO wait]:
    net.(*pollDesc).Wait(0xc0837211f0, 0x77, 0x0, 0x0)
        c:/go/src/net/fd_poll_runtime.go:84 +0x4e
    net.(*ioSrv).ExecIO(0xc082430e18, 0xc083721168, 0x97d0d0, 0x9, 0xb6beb0, 0x0, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:188 +0x305
    net.(*netFD).connect(0xc083721080, 0x2baefe0, 0xc08255ffa0, 0x2baefe0, 0xc08255ff80, 0xecce93d55, 0x1b626428, 0xd3ace0, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:361 +0x391
    net.(*netFD).dial(0xc083721080, 0x2baef90, 0x0, 0x2baef90, 0xc083b0fef0, 0xecce93d55, 0x1b626428, 0xd3ace0, 0x0, 0x0)
        c:/go/src/net/sock_posix.go:139 +0x381
    net.socket(0x975440, 0x3, 0x2, 0x1, 0x0, 0xc083b0fe00, 0x2baef90, 0x0, 0x2baef90, 0xc083b0fef0, ...)
        c:/go/src/net/sock_posix.go:91 +0x377
    net.internetSocket(0x975440, 0x3, 0x2baef90, 0x0, 0x2baef90, 0xc083b0fef0, 0xecce93d55, 0x1b626428, 0xd3ace0, 0x1, ...)
        c:/go/src/net/ipsock_posix.go:137 +0x14f
    net.dialTCP(0x975440, 0x3, 0x0, 0xc083b0fef0, 0xecce93d55, 0x1b626428, 0xd3ace0, 0x1, 0x0, 0x0)
        c:/go/src/net/tcpsock_posix.go:156 +0x12c
    net.dialSingle(0x975440, 0x3, 0xc08255fea0, 0x19, 0x0, 0x0, 0x2baef00, 0xc083b0fef0, 0xecce93d55, 0x1b626428, ...)
        c:/go/src/net/dial.go:235 +0x3fc
    net.func·016(0xecce93d55, 0x1b626428, 0xd3ace0, 0x0, 0x0, 0x0, 0x0)
        c:/go/src/net/dial.go:163 +0x133
    net.dial(0x975440, 0x3, 0x2baef00, 0xc083b0fef0, 0xc083b0ff20, 0xecce93d55, 0xe1b626428, 0xd3ace0, 0x0, 0x0, ...)
        c:/go/src/net/fd_windows.go:92 +0x122
    net.(*Dialer).Dial(0xc0820044c0, 0x975440, 0x3, 0xc08255fea0, 0x19, 0x0, 0x0, 0x0, 0x0)
        c:/go/src/net/dial.go:170 +0x6bc
    net.*Dialer.Dial·fm(0x975440, 0x3, 0xc08255fea0, 0x19, 0x0, 0x0, 0x0, 0x0)
        c:/go/src/net/http/transport.go:38 +0x80
    net/http.(*Transport).dial(0xc082054090, 0x975440, 0x3, 0xc08255fea0, 0x19, 0x0, 0x0, 0x0, 0x0)
        c:/go/src/net/http/transport.go:479 +0x8b
    net/http.(*Transport).dialConn(0xc082054090, 0x0, 0xc08213b8f0, 0x4, 0xc08255fea0, 0x19, 0xc08255fe20, 0x0, 0x0)
        c:/go/src/net/http/transport.go:564 +0x167f
    net/http.func·019()
        c:/go/src/net/http/transport.go:520 +0x49
    created by net/http.(*Transport).getConn
        c:/go/src/net/http/transport.go:522 +0x33c
    
    goroutine 227 [running]:
        goroutine running on other thread; stack unavailable
    created by github.com/thinkofdeath/steven.(*chunkSection).build
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/chunkbuilder.go:140 +0x1c4
    
    goroutine 180 [chan receive]:
    net/http.func·016()
        c:/go/src/net/http/transport.go:507 +0x6c
    created by net/http.func·017
        c:/go/src/net/http/transport.go:513 +0xc1
    
    goroutine 194 [chan receive]:
    net/http.func·016()
        c:/go/src/net/http/transport.go:507 +0x6c
    created by net/http.func·017
        c:/go/src/net/http/transport.go:513 +0xc1
    rax     0xb0
    rbx     0xaaf6970
    rcx     0xab13e20
    rdx     0x8
    rdi     0x82d400e
    rsi     0x3
    rbp     0x5730
    rsp     0x23f5c0
    r8      0x1c9a
    r9      0x14
    r10     0x8
    r11     0x3
    r12     0x80fa3e0
    r13     0x667f8980
    r14     0x1c
    r15     0x2
    rip     0x651c9660
    rflags  0x10202
    cs      0x33
    fs      0x53
    gs      0x2b
    
  • steven: changed hotbar scrolling to work like vanilla

    steven: changed hotbar scrolling to work like vanilla

    Hey there! I've been enjoying Steven lately since it runs well on my Linux laptop, but it bothered me that the hotbar scroll functionality doesn't match vanilla, especially since I can't use numbers.

    I haven't had any issues while testing it, it's just a value change.

    Let me know if this is something you do or do not want in Steven.

  • building: go get

    building: go get

    $ go get github.com/thinkofdeath/steven/cmd/steven
    # github.com/go-gl/glfw/v3.1/glfw
    In file included from src/github.com/go-gl/glfw/v3.1/glfw/context.go:4:0:
    glfw/include/GLFW/glfw3.h:153:21: fatal error: GL/gl.h: No such file or directory
       #include <GL/gl.h>
                         ^
    compilation terminated.
    # github.com/thinkofdeath/steven/protocol
    src/github.com/thinkofdeath/steven/protocol/connection.go:200: undefined: zlib.Resetter
    # github.com/thinkofdeath/gl/v3.2-core/gl
    src/github.com/thinkofdeath/gl/v3.2-core/gl/procaddr.go:52:21: fatal error: GL/glx.h: No such file or directory
      #include <GL/glx.h>
                         ^
    compilation terminated.
    

    Shouldn't it work for the first time I get the repository? Did I do something wrong?

  • protocol: nil pointer dereference

    protocol: nil pointer dereference

    I was walking around and your gopher panicked:

    Unhandled plugin message REGISTER
    The server is running: BungeeCord (Hypixel)
    Unhandled plugin message REGISTER
    The server is running: BungeeCord (Hypixel) <- Spigot
    MSG(0):                          
    MSG(0):                          
    Disconnected: dial tcp 162.159.251.33:25565: connection timed out
    Write handler closed
    Read handler closed
    panic: runtime error: invalid memory address or nil pointer dereference
    [signal 0xb code=0x1 addr=0x0 pc=0x5e884d]
    
    goroutine 19259 [running]:
    github.com/thinkofdeath/steven/protocol.(*Conn).ReadPacket(0x0, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/connection.go:157 +0x12d
    github.com/thinkofdeath/steven.startConnection(0xc208324848, 0x6, 0xc20990c2c0, 0x20, 0xc20990c240, 0x20, 0xc20871a390, 0xe)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/network.go:67 +0x318
    created by github.com/thinkofdeath/steven.connect
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/steven.go:95 +0x74
    
    goroutine 1 [runnable, locked to thread]:
    github.com/thinkofdeath/steven/render.(*UIElement).appendVertex(0xc20fd6a400, 0x3fe34fe7b60773c9, 0x3fbe0f83e0f83e0e, 0x100008)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/render/ui.go:167
    github.com/thinkofdeath/steven/render.(*UIElement).draw(0xc20fd6a400)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/render/ui.go:163 +0x182
    github.com/thinkofdeath/steven/render.drawUI()
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/render/ui.go:68 +0xc1
    github.com/thinkofdeath/steven/render.Draw(0x73f, 0x420, 0x3fe87d721ba64eb4)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/render/render.go:217 +0x11ab
    github.com/thinkofdeath/steven.draw()
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/steven.go:239 +0x465
    github.com/thinkofdeath/steven.startWindow()
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/desktop.go:68 +0x29b
    github.com/thinkofdeath/steven.Main(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/steven.go:89 +0x134
    main.main()
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/cmd/steven/steven.go:43 +0x257
    
    goroutine 17 [syscall, 17 minutes, locked to thread]:
    runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1
    
    goroutine 19137 [IO wait]:
    net.(*pollDesc).Wait(0xc20c12fbf0, 0x72, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
    net.(*pollDesc).WaitRead(0xc20c12fbf0, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
    net.(*netFD).Read(0xc20c12fb90, 0xc20c558000, 0x1000, 0x1000, 0x0, 0x7f3bcb3b1360, 0xc20c70f848)
        /usr/local/go/src/net/fd_unix.go:242 +0x40f
    net.(*conn).Read(0xc209d300a8, 0xc20c558000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/net.go:121 +0xdc
    net/http.noteEOFReader.Read(0x7f3bcb3b26c0, 0xc209d300a8, 0xc20806d2e8, 0xc20c558000, 0x1000, 0x1000, 0x87bd60, 0x0, 0x0)
        /usr/local/go/src/net/http/transport.go:1270 +0x6e
    net/http.(*noteEOFReader).Read(0xc20b8ab5e0, 0xc20c558000, 0x1000, 0x1000, 0xc208518900, 0x0, 0x0)
        <autogenerated>:125 +0xd4
    bufio.(*Reader).fill(0xc20bfb6960)
        /usr/local/go/src/bufio/bufio.go:97 +0x1ce
    bufio.(*Reader).Peek(0xc20bfb6960, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/bufio/bufio.go:132 +0xf0
    net/http.(*persistConn).readLoop(0xc20806d290)
        /usr/local/go/src/net/http/transport.go:842 +0xa4
    created by net/http.(*Transport).dialConn
        /usr/local/go/src/net/http/transport.go:660 +0xc9f
    
    goroutine 19608 [IO wait]:
    net.(*pollDesc).Wait(0xc20b46b090, 0x72, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
    net.(*pollDesc).WaitRead(0xc20b46b090, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
    net.(*netFD).Read(0xc20b46b030, 0xc20c246000, 0x200, 0x200, 0x0, 0x7f3bcb3b1360, 0xc20bc50088)
        /usr/local/go/src/net/fd_unix.go:242 +0x40f
    net.(*conn).Read(0xc20c220030, 0xc20c246000, 0x200, 0x200, 0x200, 0x0, 0x0)
        /usr/local/go/src/net/net.go:121 +0xdc
    net.(*UDPConn).readDNSResponse(0xc20c220030, 0xc20b960000, 0x0, 0x0)
        /usr/local/go/src/net/dnsclient_unix.go:43 +0xae
    net.exchange(0xc20bc50020, 0xc, 0xc20c73c020, 0x1d, 0xc20bc50021, 0x12a05f200, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/dnsclient_unix.go:146 +0x471
    net.tryOneName(0xc20844afa0, 0xc20c73c020, 0x1d, 0x21, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/net/dnsclient_unix.go:175 +0x46e
    net.lookup(0xc20c73c000, 0x1c, 0x21, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/dnsclient_unix.go:299 +0x79a
    net.lookupSRV(0x9a63d0, 0x9, 0x98a3a0, 0x3, 0xc208ab4cf0, 0xc, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/net/lookup_unix.go:95 +0x10e
    net.LookupSRV(0x9a63d0, 0x9, 0x98a3a0, 0x3, 0xc208ab4cf0, 0xc, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/net/lookup.go:120 +0xba
    github.com/thinkofdeath/steven/protocol.Dial(0xc208ab4cf0, 0xc, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/connection.go:66 +0xbb
    github.com/thinkofdeath/steven.(*serverList).pingServer(0xc2088dc340, 0xc208ab4cf0, 0xc, 0xc209d5ee80, 0xc2099567e0, 0xc20c74a860, 0x1f, 0xc209956870, 0xc209956900)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:213 +0x12c
    created by github.com/thinkofdeath/steven.(*serverList).redraw
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:177 +0xf5e
    
    goroutine 19609 [IO wait]:
    net.(*pollDesc).Wait(0xc20b46b800, 0x72, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
    net.(*pollDesc).WaitRead(0xc20b46b800, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
    net.(*netFD).Read(0xc20b46b7a0, 0xc20c246200, 0x200, 0x200, 0x0, 0x7f3bcb3b1360, 0xc20bc50120)
        /usr/local/go/src/net/fd_unix.go:242 +0x40f
    net.(*conn).Read(0xc20c220078, 0xc20c246200, 0x200, 0x200, 0x200, 0x0, 0x0)
        /usr/local/go/src/net/net.go:121 +0xdc
    net.(*UDPConn).readDNSResponse(0xc20c220078, 0xc20b960080, 0x0, 0x0)
        /usr/local/go/src/net/dnsclient_unix.go:43 +0xae
    net.exchange(0xc20bc500c0, 0xc, 0xc20c73c160, 0x1f, 0xc20bc50021, 0x12a05f200, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/dnsclient_unix.go:146 +0x471
    net.tryOneName(0xc20844afa0, 0xc20c73c160, 0x1f, 0x21, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/net/dnsclient_unix.go:175 +0x46e
    net.lookup(0xc20c73c140, 0x1e, 0x21, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/dnsclient_unix.go:299 +0x79a
    net.lookupSRV(0x9a63d0, 0x9, 0x98a3a0, 0x3, 0xc20871a390, 0xe, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/net/lookup_unix.go:95 +0x10e
    net.LookupSRV(0x9a63d0, 0x9, 0x98a3a0, 0x3, 0xc20871a390, 0xe, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/net/lookup.go:120 +0xba
    github.com/thinkofdeath/steven/protocol.Dial(0xc20871a390, 0xe, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/connection.go:66 +0xbb
    github.com/thinkofdeath/steven.(*serverList).pingServer(0xc2088dc340, 0xc20871a390, 0xe, 0xc209d5f000, 0xc209956cf0, 0xc20c74a9e0, 0x1f, 0xc209956e10, 0xc209956ea0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:213 +0x12c
    created by github.com/thinkofdeath/steven.(*serverList).redraw
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:177 +0xf5e
    
    goroutine 19394 [select]:
    net/http.(*persistConn).writeLoop(0xc209cd02c0)
        /usr/local/go/src/net/http/transport.go:945 +0x41d
    created by net/http.(*Transport).dialConn
        /usr/local/go/src/net/http/transport.go:661 +0xcbc
    
    goroutine 986 [sleep]:
    net.func·019()
        /usr/local/go/src/net/dnsclient_unix.go:240 +0x5a
    created by net.loadConfig
        /usr/local/go/src/net/dnsclient_unix.go:269 +0x20c
    
    goroutine 19297 [IO wait]:
    net.(*pollDesc).Wait(0xc20b46b720, 0x72, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
    net.(*pollDesc).WaitRead(0xc20b46b720, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
    net.(*netFD).Read(0xc20b46b6c0, 0xc208fac000, 0x1000, 0x1000, 0x0, 0x7f3bcb3b1360, 0xc209bb81e8)
        /usr/local/go/src/net/fd_unix.go:242 +0x40f
    net.(*conn).Read(0xc209a42048, 0xc208fac000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/net.go:121 +0xdc
    net/http.noteEOFReader.Read(0x7f3bcb3b26c0, 0xc209a42048, 0xc209cd0318, 0xc208fac000, 0x1000, 0x1000, 0x87bd60, 0x0, 0x0)
        /usr/local/go/src/net/http/transport.go:1270 +0x6e
    net/http.(*noteEOFReader).Read(0xc208e500e0, 0xc208fac000, 0x1000, 0x1000, 0xc208519b00, 0x0, 0x0)
        <autogenerated>:125 +0xd4
    bufio.(*Reader).fill(0xc2093c4180)
        /usr/local/go/src/bufio/bufio.go:97 +0x1ce
    bufio.(*Reader).Peek(0xc2093c4180, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/bufio/bufio.go:132 +0xf0
    net/http.(*persistConn).readLoop(0xc209cd02c0)
        /usr/local/go/src/net/http/transport.go:842 +0xa4
    created by net/http.(*Transport).dialConn
        /usr/local/go/src/net/http/transport.go:660 +0xc9f
    
    goroutine 19378 [select]:
    net/http.(*persistConn).writeLoop(0xc20806d290)
        /usr/local/go/src/net/http/transport.go:945 +0x41d
    created by net/http.(*Transport).dialConn
        /usr/local/go/src/net/http/transport.go:661 +0xcbc
    
    goroutine 19227 [IO wait]:
    net.(*pollDesc).Wait(0xc208011f00, 0x72, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
    net.(*pollDesc).WaitRead(0xc208011f00, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
    net.(*netFD).Read(0xc208011ea0, 0xc209e10400, 0x400, 0x400, 0x0, 0x7f3bcb3b1360, 0xc208c5a240)
        /usr/local/go/src/net/fd_unix.go:242 +0x40f
    net.(*conn).Read(0xc208284048, 0xc209e10400, 0x400, 0x400, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/net.go:121 +0xdc
    crypto/tls.(*block).readFromUntil(0xc20c794a80, 0x7f3bcb3b26c0, 0xc208284048, 0x5, 0x0, 0x0)
        /usr/local/go/src/crypto/tls/conn.go:454 +0xe6
    crypto/tls.(*Conn).readRecord(0xc208fe0000, 0x17, 0x0, 0x0)
        /usr/local/go/src/crypto/tls/conn.go:539 +0x2da
    crypto/tls.(*Conn).Read(0xc208fe0000, 0xc20abfa000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/local/go/src/crypto/tls/conn.go:904 +0x166
    net/http.noteEOFReader.Read(0x7f3bcb3b72c0, 0xc208fe0000, 0xc20de9c3c8, 0xc20abfa000, 0x1000, 0x1000, 0xc20bc4e140, 0x0, 0x0)
        /usr/local/go/src/net/http/transport.go:1270 +0x6e
    net/http.(*noteEOFReader).Read(0xc20ab95700, 0xc20abfa000, 0x1000, 0x1000, 0xc208015600, 0x0, 0x0)
        <autogenerated>:125 +0xd4
    bufio.(*Reader).fill(0xc20dcfb320)
        /usr/local/go/src/bufio/bufio.go:97 +0x1ce
    bufio.(*Reader).Peek(0xc20dcfb320, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/bufio/bufio.go:132 +0xf0
    net/http.(*persistConn).readLoop(0xc20de9c370)
        /usr/local/go/src/net/http/transport.go:842 +0xa4
    created by net/http.(*Transport).dialConn
        /usr/local/go/src/net/http/transport.go:660 +0xc9f
    
    goroutine 19228 [select]:
    net/http.(*persistConn).writeLoop(0xc20de9c370)
        /usr/local/go/src/net/http/transport.go:945 +0x41d
    created by net/http.(*Transport).dialConn
        /usr/local/go/src/net/http/transport.go:661 +0xcbc
    
    goroutine 19250 [IO wait]:
    net.(*pollDesc).Wait(0xc20c341bf0, 0x72, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
    net.(*pollDesc).WaitRead(0xc20c341bf0, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
    net.(*netFD).Read(0xc20c341b90, 0xc20ba2e27c, 0x1, 0x1, 0x0, 0x7f3bcb3b1360, 0xc20ba2e290)
        /usr/local/go/src/net/fd_unix.go:242 +0x40f
    net.(*conn).Read(0xc20c220038, 0xc20ba2e27c, 0x1, 0x1, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/net.go:121 +0xdc
    github.com/thinkofdeath/steven/protocol.ReadByte(0x7f3bcb3b26c0, 0xc20c220038, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/io.go:191 +0x109
    github.com/thinkofdeath/steven/protocol.ReadVarInt(0x7f3bcb3b26c0, 0xc20c220038, 0xc20c220038, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/io.go:71 +0x55
    github.com/thinkofdeath/steven/protocol.(*Conn).readPacket(0xc20ab6c100, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/connection.go:167 +0x7a
    github.com/thinkofdeath/steven/protocol.(*Conn).ReadPacket(0xc20ab6c100, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/connection.go:158 +0xf4
    github.com/thinkofdeath/steven/protocol.(*Conn).RequestStatus(0xc20ab6c100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/status.go:68 +0x260
    github.com/thinkofdeath/steven.(*serverList).pingServer(0xc20c5accc0, 0xc208f5a480, 0xa, 0xc20b960700, 0xc20abae1b0, 0xc208ddc340, 0x1f, 0xc20abae240, 0xc20abae2d0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:223 +0x2c4
    created by github.com/thinkofdeath/steven.(*serverList).redraw
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:177 +0xf5e
    
    goroutine 19255 [IO wait]:
    net.(*pollDesc).Wait(0xc20df98ed0, 0x72, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
    net.(*pollDesc).WaitRead(0xc20df98ed0, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
    net.(*netFD).Read(0xc20df98e70, 0xc20ac1125c, 0x1, 0x1, 0x0, 0x7f3bcb3b1360, 0xc20ac11270)
        /usr/local/go/src/net/fd_unix.go:242 +0x40f
    net.(*conn).Read(0xc20bc3e090, 0xc20ac1125c, 0x1, 0x1, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/net.go:121 +0xdc
    github.com/thinkofdeath/steven/protocol.ReadByte(0x7f3bcb3b26c0, 0xc20bc3e090, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/io.go:191 +0x109
    github.com/thinkofdeath/steven/protocol.ReadVarInt(0x7f3bcb3b26c0, 0xc20bc3e090, 0xc20bc3e090, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/io.go:71 +0x55
    github.com/thinkofdeath/steven/protocol.(*Conn).readPacket(0xc20abd0980, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/connection.go:167 +0x7a
    github.com/thinkofdeath/steven/protocol.(*Conn).ReadPacket(0xc20abd0980, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/connection.go:158 +0xf4
    github.com/thinkofdeath/steven/protocol.(*Conn).RequestStatus(0xc20abd0980, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/status.go:68 +0x260
    github.com/thinkofdeath/steven.(*serverList).pingServer(0xc20c5accc0, 0xc208f5a480, 0xa, 0xc20dfb4700, 0xc20c75ce10, 0xc20dfb7880, 0x1f, 0xc20c75cea0, 0xc20c75cf30)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:223 +0x2c4
    created by github.com/thinkofdeath/steven.(*serverList).redraw
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:177 +0xf5e
    
    goroutine 19607 [runnable, locked to thread]:
    net._C2func_getaddrinfo(0x7f3ba00008c0, 0x0, 0xc209319408, 0xc209319358, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/:26 +0x55
    net.cgoLookupIPCNAME(0xc20c66e000, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc20c680200)
        /usr/local/go/src/net/cgo_unix.go:96 +0x1c5
    net.cgoLookupIP(0xc20c66e000, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x200)
        /usr/local/go/src/net/cgo_unix.go:148 +0x65
    net.lookupIP(0xc20c66e000, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/lookup_unix.go:64 +0x5f
    net.func·025(0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/lookup.go:41 +0x55
    net.(*singleflight).doCall(0xf383c0, 0xc20bfb6000, 0xc20c66e000, 0xc, 0xc2093196d8)
        /usr/local/go/src/net/singleflight.go:91 +0x2f
    net.(*singleflight).Do(0xf383c0, 0xc20c66e000, 0xc, 0xc2093196d8, 0x0, 0x0, 0x0, 0x0, 0x43a4f8)
        /usr/local/go/src/net/singleflight.go:61 +0x280
    net.lookupIPMerge(0xc20c66e000, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/lookup.go:42 +0xae
    net.lookupIPDeadline(0xc20c66e000, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/lookup.go:64 +0x12d
    net.resolveInternetAddr(0x98a3a0, 0x3, 0xc20c66e000, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/net/ipsock.go:285 +0x49b
    net.resolveAddr(0x983bc0, 0x4, 0x98a3a0, 0x3, 0xc20c66e000, 0x12, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/net/dial.go:110 +0x378
    net.(*Dialer).Dial(0xc209a2c040, 0x98a3a0, 0x3, 0xc20c66e000, 0x12, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/dial.go:158 +0xf6
    net.Dial(0x98a3a0, 0x3, 0xc20c66e000, 0x12, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/dial.go:143 +0x8a
    github.com/thinkofdeath/steven/protocol.Dial(0xc20c66e000, 0x12, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/connection.go:74 +0x2b0
    github.com/thinkofdeath/steven.(*serverList).pingServer(0xc2088dc340, 0xc20abc1ef0, 0xc, 0xc209d5ed00, 0xc209956360, 0xc20c74a700, 0x1f, 0xc2099563f0, 0xc209956480)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:213 +0x12c
    created by github.com/thinkofdeath/steven.(*serverList).redraw
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:177 +0xf5e
    
    goroutine 17729 [IO wait, 2 minutes]:
    net.(*pollDesc).Wait(0xc2087e8df0, 0x77, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
    net.(*pollDesc).WaitWrite(0xc2087e8df0, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:93 +0x43
    net.(*netFD).connect(0xc2087e8d90, 0x0, 0x0, 0x7f3bcb3b16b0, 0xc20bdba560, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/fd_unix.go:114 +0x24b
    net.(*netFD).dial(0xc2087e8d90, 0x7f3bcb3b1660, 0x0, 0x7f3bcb3b1660, 0xc20bb825a0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/sock_posix.go:139 +0x37a
    net.socket(0x98a3a0, 0x3, 0x2, 0x1, 0x0, 0xc20bb82500, 0x7f3bcb3b1660, 0x0, 0x7f3bcb3b1660, 0xc20bb825a0, ...)
        /usr/local/go/src/net/sock_posix.go:91 +0x422
    net.internetSocket(0x98a3a0, 0x3, 0x7f3bcb3b1660, 0x0, 0x7f3bcb3b1660, 0xc20bb825a0, 0x0, 0x0, 0x0, 0x1, ...)
        /usr/local/go/src/net/ipsock_posix.go:137 +0x148
    net.dialTCP(0x98a3a0, 0x3, 0x0, 0xc20bb825a0, 0x0, 0x0, 0x0, 0xc20bdba520, 0x0, 0x0)
        /usr/local/go/src/net/tcpsock_posix.go:156 +0x125
    net.dialSingle(0x98a3a0, 0x3, 0xc20bdba4c0, 0x11, 0x0, 0x0, 0x7f3bcb3b15d0, 0xc20bb825a0, 0x0, 0x0, ...)
        /usr/local/go/src/net/dial.go:235 +0x3f5
    net.func·016(0x0, 0xc200000000, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/dial.go:163 +0x12c
    net.dial(0x98a3a0, 0x3, 0x7f3bcb3b15d0, 0xc20bb825a0, 0xc20c20fc98, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/net/fd_unix.go:40 +0x6f
    net.(*Dialer).Dial(0xc2093da100, 0x98a3a0, 0x3, 0xc20bdba4c0, 0x11, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/dial.go:170 +0x4be
    net.Dial(0x98a3a0, 0x3, 0xc20bdba4c0, 0x11, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/dial.go:143 +0x8a
    github.com/thinkofdeath/steven/protocol.Dial(0xc20bdba4c0, 0x11, 0x3, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/connection.go:74 +0x2b0
    github.com/thinkofdeath/steven.(*serverList).pingServer(0xc209bb6240, 0xc20bdbdec0, 0xb, 0xc20c552500, 0xc20b7ff3b0, 0xc20bf45dc0, 0x1f, 0xc20b7ff440, 0xc20b7ff4d0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:213 +0x12c
    created by github.com/thinkofdeath/steven.(*serverList).redraw
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:177 +0xf5e
    
    goroutine 19606 [runnable, locked to thread]:
    net._C2func_getaddrinfo(0x7f3b800008c0, 0x0, 0xc20c393408, 0xc20c393358, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/:26 +0x55
    net.cgoLookupIPCNAME(0xc20c515880, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc20abcd400)
        /usr/local/go/src/net/cgo_unix.go:96 +0x1c5
    net.cgoLookupIP(0xc20c515880, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x200)
        /usr/local/go/src/net/cgo_unix.go:148 +0x65
    net.lookupIP(0xc20c515880, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/lookup_unix.go:64 +0x5f
    net.func·025(0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/lookup.go:41 +0x55
    net.(*singleflight).doCall(0xf383c0, 0xc20bf24240, 0xc20c515880, 0xa, 0xc20c3936d8)
        /usr/local/go/src/net/singleflight.go:91 +0x2f
    net.(*singleflight).Do(0xf383c0, 0xc20c515880, 0xa, 0xc20c3936d8, 0x0, 0x0, 0x0, 0x0, 0x43a4f8)
        /usr/local/go/src/net/singleflight.go:61 +0x280
    net.lookupIPMerge(0xc20c515880, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/lookup.go:42 +0xae
    net.lookupIPDeadline(0xc20c515880, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/lookup.go:64 +0x12d
    net.resolveInternetAddr(0x98a3a0, 0x3, 0xc20c515880, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/net/ipsock.go:285 +0x49b
    net.resolveAddr(0x983bc0, 0x4, 0x98a3a0, 0x3, 0xc20c515880, 0x10, 0x0, 0xc200000000, 0x0, 0x0, ...)
        /usr/local/go/src/net/dial.go:110 +0x378
    net.(*Dialer).Dial(0xc20bdcc3c0, 0x98a3a0, 0x3, 0xc20c515880, 0x10, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/dial.go:158 +0xf6
    net.Dial(0x98a3a0, 0x3, 0xc20c515880, 0x10, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/dial.go:143 +0x8a
    github.com/thinkofdeath/steven/protocol.Dial(0xc20c515880, 0x10, 0x18400, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/connection.go:74 +0x2b0
    github.com/thinkofdeath/steven.(*serverList).pingServer(0xc2088dc340, 0xc208f5a480, 0xa, 0xc209d5eb80, 0xc209957e60, 0xc20c74a5a0, 0x1f, 0xc209957ef0, 0xc209956d80)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:213 +0x12c
    created by github.com/thinkofdeath/steven.(*serverList).redraw
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/ui_serverlist.go:177 +0xf5e
    

    Steven is running on linux (on 8GB pendrive).

  • all: race somewhere

    all: race somewhere

    Randomly there are crashes (normally very shortly after startup) that can range from sigsegv to faults. I'm pretty sure there is a race condition somewhere causing this but i'm unable to run the race detector due to golang/go#10874 so this will have to wait until thats fixed

  • render/gl: segfault in BufferSubData

    render/gl: segfault in BufferSubData

    I logged on to my creative server. Looked around at for a minute and then...

    Exception 0xc0000005 0x1 0xed83ea6 0x1802343ee
    PC=0x1802343ee
    signal arrived during cgo execution
    
    github.com/thinkofdeath/gl/v3.2-core/gl._Cfunc_glowBufferSubData(0x18047a3e0, 0x8892, 0x0, 0x458a, 0xc086647000)
        github.com/thinkofdeath/gl/v3.2-core/gl/_obj/_cgo_gotypes.go:2325 +0x4c
    github.com/thinkofdeath/gl/v3.2-core/gl.BufferSubData(0x8892, 0x0, 0x458a, 0xc086647000)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/gl/v3.2-core/gl/package.go:6622 +0x57
    github.com/thinkofdeath/steven/render/gl.Buffer.SubData(0xc00000033e, 0x0, 0xc086647000, 0x458a, 0x458a)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/render/gl/buffer.go:72 +0x11b
    github.com/thinkofdeath/steven/render.Draw(0x3ff617df19d66adb)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/render/render.go:195 +0xcab
    main.draw()
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/steven.go:154 +0x490
    github.com/thinkofdeath/steven/platform.run(0xa3be68, 0xa3be30, 0xa3be58, 0xa3be50, 0xa3be28)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/platform/desktop.go:60 +0x2c3
    github.com/thinkofdeath/steven/platform.Init(0xa3be68, 0xa3be30, 0xa3be58, 0xa3be50, 0xa3be28)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/platform/platform.go:25 +0x3a
    main.main()
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/steven.go:78 +0x43c
    
    goroutine 17 [syscall, 2 minutes, locked to thread]:
    runtime.goexit()
        c:/go/src/runtime/asm_amd64.s:2232 +0x1
    
    goroutine 6 [IO wait]:
    net.(*pollDesc).Wait(0xc083d9e170, 0x72, 0x0, 0x0)
        c:/go/src/net/fd_poll_runtime.go:84 +0x4e
    net.(*ioSrv).ExecIO(0xc082430900, 0xc083d9e060, 0x867230, 0x7, 0xa3bf48, 0x4, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:188 +0x305
    net.(*netFD).Read(0xc083d9e000, 0xc082ae82fc, 0x1, 0x1, 0x0, 0x0, 0x0)
        c:/go/src/net/fd_windows.go:470 +0x180
    net.(*conn).Read(0xc082430020, 0xc082ae82fc, 0x1, 0x1, 0x0, 0x0, 0x0)
        c:/go/src/net/net.go:121 +0xe3
    crypto/cipher.StreamReader.Read(0x12314f0, 0xc0841d6780, 0x122d870, 0xc082430020, 0xc082ae82fc, 0x1, 0x1, 0x7136a0, 0x0, 0x0)
        c:/go/src/crypto/cipher/io.go:20 +0x84
    crypto/cipher.(*StreamReader).Read(0xc0843b80e0, 0xc082ae82fc, 0x1, 0x1, 0x0, 0x0, 0x0)
        <autogenerated>:11 +0xdd
    github.com/thinkofdeath/steven/protocol.ReadByte(0x1231518, 0xc0843b80e0, 0xc083d9e000, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/io.go:187 +0x110
    github.com/thinkofdeath/steven/protocol.ReadVarInt(0x1231518, 0xc0843b80e0, 0x1cc17d04, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/io.go:70 +0x5c
    github.com/thinkofdeath/steven/protocol.(*Conn).ReadPacket(0xc0822e2480, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/protocol/connection.go:158 +0x132
    main.startConnection(0xc082002240, 0x7, 0xc082062030, 0x20, 0xc082062060, 0x20, 0xc082008520, 0x11)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/network.go:65 +0x280
    created by main.main
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/steven.go:64 +0x3ab
    
    goroutine 35 [chan receive]:
    main.writeHandler(0xc0822e2480)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/network.go:90 +0x59
    created by main.startConnection
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/network.go:62 +0x26e
    rax     0x1
    rbx     0x3ef5cc0
    rcx     0x3ef5cc0
    rdx     0x23fd30
    rdi     0x3ef5cc0
    rsi     0x3f5de10
    rbp     0x23fbc1
    rsp     0x23f8c0
    r8      0xed83eb6
    r9      0x43ea6
    r10     0x2
    r11     0x2
    r12     0x23fcc0
    r13     0x3f6cdc0
    r14     0x6
    r15     0x5f19080
    rip     0x1802343ee
    rflags  0x100010206
    cs      0x33
    fs      0x53
    gs      0x2b
    
  • Steven Crashes (Windows)

    Steven Crashes (Windows)

    This is the precompilled build steven.log:

    [blocktint.go:40] loading biome colors: file not found
    [blocktint.go:40] loading biome colors: file not found
    [resource.go:278] Obtaining vanilla resources for 1.8.7, please wait...
    

    steven-error.log:

    panic: VersionUnavailable: WGL: OpenGL profile requested but WGL_ARB_create_context_profile is unavailable
    
    goroutine 1 [running, locked to thread]:
    github.com/thinkofdeath/steven.startWindow()
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/desktop.go:75 +0x1c1
    github.com/thinkofdeath/steven.Main(0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/steven.go:94 +0x13e
    main.main()
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/cmd/steven/steven.go:47 +0x280
    
    goroutine 17 [syscall, locked to thread]:
    runtime.goexit()
        /home/thinkofdeath/go/src/runtime/asm_amd64.s:1696 +0x1
    
    goroutine 34 [select]:
    net/http.(*Transport).getConn(0xc082058120, 0xc08220a000, 0x0, 0xc082496460, 0x5, 0xc082230060, 0x14, 0x0, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/http/transport.go:554 +0x66a
    net/http.(*Transport).RoundTrip(0xc082058120, 0xc08220a000, 0xac, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/http/transport.go:228 +0x4b3
    net/http.send(0xc08220a000, 0x2b44440, 0xc082058120, 0xc0824964b0, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/http/client.go:220 +0x533
    net/http.(*Client).send(0xe40be0, 0xc08220a000, 0x44, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/http/client.go:143 +0x161
    net/http.(*Client).doFollowingRedirects(0xe40be0, 0xc08220a000, 0xbffaf0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/http/client.go:380 +0xbc7
    net/http.(*Client).Get(0xe40be0, 0xc082496460, 0x44, 0xc082208000, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/http/client.go:306 +0xb1
    net/http.Get(0xc082496460, 0x44, 0xc082203ea8, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/http/client.go:281 +0x4c
    github.com/thinkofdeath/steven/resource.downloadDefault(0xc08241cb20, 0xc0820124e0, 0xc082234e60, 0x11)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/resource/resource.go:279 +0x24e
    github.com/thinkofdeath/steven/resource.Init.func1(0xc0820124e0, 0xc08241cb20, 0xc082234e60, 0x11)
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/resource/resource.go:158 +0xad
    created by github.com/thinkofdeath/steven/resource.Init
        /home/thinkofdeath/TeamCity/buildAgent/work/9213002c05b9c4f1/src/github.com/thinkofdeath/steven/resource/resource.go:165 +0x2b5
    
    goroutine 19 [select]:
    net.lookupIPDeadline(0xc082230060, 0x10, 0xecd3e588b, 0x39ca9994, 0xe40d20, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/lookup.go:109 +0x6ac
    net.internetAddrList(0xacffd0, 0x3, 0xc082230060, 0x14, 0xecd3e588b, 0x39ca9994, 0xe40d20, 0x0, 0x0, 0x0, ...)
        /home/thinkofdeath/go/src/net/ipsock.go:252 +0x6f5
    net.resolveAddrList(0xacdcc0, 0x4, 0xacffd0, 0x3, 0xc082230060, 0x14, 0xecd3e588b, 0x39ca9994, 0xe40d20, 0x0, ...)
        /home/thinkofdeath/go/src/net/dial.go:154 +0x46d
    net.(*Dialer).Dial(0xc0820105a0, 0xacffd0, 0x3, 0xc082230060, 0x14, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/dial.go:208 +0x114
    net.(*Dialer).Dial-fm(0xacffd0, 0x3, 0xc082230060, 0x14, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/http/transport.go:38 +0x75
    net/http.(*Transport).dial(0xc082058120, 0xacffd0, 0x3, 0xc082230060, 0x14, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/http/transport.go:499 +0x80
    net/http.(*Transport).dialConn(0xc082058120, 0x0, 0xc082496460, 0x5, 0xc082230060, 0x14, 0x9f0101, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/http/transport.go:596 +0x1adb
    net/http.(*Transport).getConn.func4(0xc082058120, 0x0, 0xc082496460, 0x5, 0xc082230060, 0x14, 0xc0824ee060)
        /home/thinkofdeath/go/src/net/http/transport.go:549 +0x6d
    created by net/http.(*Transport).getConn
        /home/thinkofdeath/go/src/net/http/transport.go:551 +0x26c
    
    goroutine 20 [syscall, locked to thread]:
    syscall.Syscall6(0x7fefd8e23c0, 0x4, 0xc082233050, 0x0, 0xc08249bdd0, 0xc08249bc80, 0x0, 0x0, 0x10, 0xc082233050, ...)
        /home/thinkofdeath/go/src/runtime/syscall_windows.go:139 +0x5f
    syscall.GetAddrInfoW(0xc082233050, 0x0, 0xc08249bdd0, 0xc08249bc80, 0x0, 0x0)
        /home/thinkofdeath/go/src/syscall/zsyscall_windows.go:1670 +0x96
    net.newLookupIP(0xc082230060, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/lookup_windows.go:118 +0x152
    net.glob.func15(0xbff9e8, 0xc082230060, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/hook.go:10 +0x54
    net.lookupIPDeadline.func1(0x0, 0x0, 0x0, 0x0)
        /home/thinkofdeath/go/src/net/lookup.go:106 +0x78
    internal/singleflight.(*Group).doCall(0xe3ffc0, 0xc082496500, 0xc082230060, 0x10, 0xc082230160)
        /home/thinkofdeath/go/src/internal/singleflight/singleflight.go:93 +0x33
    created by internal/singleflight.(*Group).DoChan
        /home/thinkofdeath/go/src/internal/singleflight/singleflight.go:86 +0x3f4
    

    I don't quite know what is going on... When I tried building, I got an error saying:

    github.com/thinkofdeath/steven/audio

    cc1.exe: sorry, unimplemented: 64-bit mode not compiled in

    github.com/go-gl/glfw/v3.1/glfw

    cc1.exe: sorry, unimplemented: 64-bit mode not compiled in

    github.com/thinkofdeath/gl/v3.2-core/gl

    cc1.exe: sorry, unimplemented: 64-bit mode not compiled in

    I am a newbie to golang in general, but I have used it before. My graphics card is Intel HD Graphics 3000, and I am running Windows 7, 64 Bit. Sorry if this is due to my utter incompetence when it comes to building things.

  • Hack to plot 3D block data

    Hack to plot 3D block data

    Hi I'm clueless about minecraft, but I was wondering if it could solve a real world mining problem. I want to plot what's called a block model of geological data as used by mining engineers (like myself) see http://www.scielo.org.za/img/revistas/jsaimm/v116n7/09f03.jpg for example. Do you think its possible to use minecraft to achieve this ?

    Thanks

  • steven: go panics on run

    steven: go panics on run

    I have an iMac running El Capitan (10.11.4). I installed go using Homebrew.

    When I run steven, I'm getting this panic:

    panic: reflect: reflect.Value.Set using value obtained using unexported field
    
    goroutine 1 [running]:
    panic(0x451af20, 0xc8202a2140)
        /usr/local/Cellar/go/1.6/libexec/src/runtime/panic.go:464 +0x3e6
    reflect.flag.mustBeAssignable(0x1d9)
        /usr/local/Cellar/go/1.6/libexec/src/reflect/value.go:226 +0x161
    reflect.Value.Set(0x46f3880, 0xc8200517a0, 0x1d9, 0x46f3880, 0xc820051650, 0x1d9)
        /usr/local/Cellar/go/1.6/libexec/src/reflect/value.go:1328 +0x25
    github.com/thinkofdeath/steven.cloneBlock(0x56c7d40, 0xc820051650, 0x0, 0x0)
        /Users/joshua/Projects/Minecraft/go/build/src/github.com/thinkofdeath/steven/block.go:407 +0x282
    github.com/thinkofdeath/steven.alloc(0x56c7d40, 0xc820051650, 0xc820051650)
        /Users/joshua/Projects/Minecraft/go/build/src/github.com/thinkofdeath/steven/block.go:389 +0x9ca
    github.com/thinkofdeath/steven.init.5()
        /Users/joshua/Projects/Minecraft/go/build/src/github.com/thinkofdeath/steven/blocks.go:277 +0x6b2
    github.com/thinkofdeath/steven.init()
        /Users/joshua/Projects/Minecraft/go/build/src/github.com/thinkofdeath/steven/world.go:23 +0x55ed
    main.init()
        /Users/joshua/Projects/Minecraft/go/build/src/github.com/thinkofdeath/steven/cmd/steven/steven.go:    62 +0x4a
    

    I do not have a steven-log.txt as it never generated/existed.

  • steven: missing blocks

    steven: missing blocks

    Missing blocks/block states:

    • [x] Cactus
      • [x] Missing states
    • [ ] Chest
    • [x] Wheat
    • [x] Farmland
    • [ ] Furnace
    • [ ] Furnace Lit
    • [ ] Ladder
    • [ ] Lever
    • [ ] Stone pressure plate
    • [ ] Wooden pressure plate
    • [ ] Redstone ore lit
    • [ ] Stone button
    • [ ] Snow layer
    • [ ] Pumpkin
    • [ ] Pumpkin lit
    • [ ] Cake
    • [ ] Repeater
    • [ ] Repeater unpowered
    • [ ] Trapdoor
    • [ ] Monster egg
    • [ ] Brown mushroom block
    • [ ] Red mushroom block
    • [ ] Pumpkin stem
    • [ ] Melon stem
    • [ ] Mycelium
    • [ ] Nether wart
    • [ ] Brewing stand
    • [ ] Cauldron
    • [ ] End portal
    • [ ] End portal frame
    • [ ] Redstone lamp lit
    • [ ] Cocoa
    • [ ] Ender chest
    • [ ] Tripwire hook
    • [ ] Tripwire
    • [ ] Flower pot
    • [x] Carrots
    • [x] Potatoes
    • [ ] Wooden button
    • [ ] Anvil
    • [ ] Trapped chest
    • [ ] Light weighted pressure plate
    • [ ] Heavy weighted pressure plate
    • [ ] Comparator
    • [ ] Comparator powered
    • [ ] Daylight detector
    • [ ] Hopper
    • [ ] Iron trapdoor
    • [ ] Hay block
    • [x] Double plants
    • [ ] Standing banner
    • [ ] Wall banner
    • [ ] Daylight detector inverted
⛏ 🐹 Minecraft Protocol implementation in Go
⛏ 🐹 Minecraft Protocol implementation in Go

illustration by @talentlessguy Install Go 1.16.x is required to use this library go get github.com/BRA1L0R/go-mcproto Opening a connection client := m

Sep 20, 2022
Minecraft server made in go, faster and better!

ElytraGo Minecraft server made in go, faster and better! Project is in early stage, but I'm trying continuously update it with new lines of code :)) L

Dec 9, 2022
Regolith is an Addon Compiler for the Bedrock Edition of Minecraft.

Much like bridge v2, Regolith introduces the concept of a "project folder", where your addons are written, including the RP, the BP, and any models, textures or configuration files. This single-folder-structure is great for version control, and allows you to keep your "source-of-truth" outside of com.mojang.

Nov 13, 2022
Quick and dirty Minecraft player head to SVG converter

Head SVG Quick and dirty Minecraft player head to SVG converter. Can be used to generate player head icons. Usage usage: Head SVG [-h|--help] -n|--nam

May 29, 2022
Minecraft server implementation using Golang

Deepslate Deepslate is a Minecraft server implementation in Go. Deepslate if WIP and currently not available for installation Goals First implementati

Nov 19, 2021
Minecraft Bedrock Edition server software written in Go
Minecraft Bedrock Edition server software written in Go

Dragonfly Dragonfly is a heavily asynchronous server software for Minecraft Bedrock Edition written in Go.

Jan 3, 2023
Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.

pitaya Pitaya is an simple, fast and lightweight game server framework with clustering support and client libraries for iOS, Android, Unity and others

Jan 2, 2023
F1 Game Telemetry Client written in Go (no dependency)
F1 Game Telemetry Client written in Go (no dependency)

F1 Game Telemetry Client in Go Telemetry client for F1 Game, written in Go. Currently, supported only the UDP 2020 format. Features Event System Rich

Dec 13, 2022
mcstatusgo is a pure Go Minecraft service status checker for Java edition Minecraft servers

mcstatusgo is a pure Go Minecraft service status checker for Java edition Minecraft servers. mcstatusgo supports requesting information through the status and query protocols.

Aug 12, 2022
Go Minecraft Client
Go Minecraft Client

Steven Not actively maintained anymore A work in progress Minecraft client in Go. Don't expect it to go anywhere, just doing this for fun. Images Buil

Dec 23, 2022
steal minecraft (bedrock) skins

skinsteal steal everyone on the servers skin ❤️ to gophertunnel for being awesome https://streamable.com/7niuie to setup: build main.go run output bin

May 10, 2021
steal minecraft (bedrock) skins

skinsteal steal everyone on the servers skin ❤️ to gophertunnel for being awesome https://streamable.com/7niuie to setup: build main.go run output bin

Jul 14, 2021
A vote botting wrapper for GoLang designed for Minecraft: Pocket Servers.

libvote A vote botting wrapper for GoLang designed for Minecraft: Pocket Servers by Jviguy and JustTal. Disclaimer Usage of libvote requires your own

Apr 17, 2022
Brigodier is a command parser & dispatcher, designed and developed for command lines such as for Discord bots or Minecraft chat commands. It is a complete port from Mojang's "brigadier" into Go.

brigodier Brigodier is a command parser & dispatcher, designed and developed to provide a simple and flexible command framework. It can be used in man

Dec 15, 2022
⛏ 🐹 Minecraft Protocol implementation in Go
⛏ 🐹 Minecraft Protocol implementation in Go

illustration by @talentlessguy Install Go 1.16.x is required to use this library go get github.com/BRA1L0R/go-mcproto Opening a connection client := m

Sep 20, 2022
gophertunnel is composed of several packages that may be of use for creating Minecraft related tools
gophertunnel is composed of several packages that may be of use for creating Minecraft related tools

gophertunnel is composed of several packages that may be of use for creating Minecraft related tools. A brief overview of all packages may be found here.

Dec 31, 2022
minectl 🗺 is a cli for creating Minecraft (java or bedrock) server on different cloud provider.

minectl ?? minectl️️ is a cli for creating Minecraft (java or bedrock) server on different cloud provider. It is a private side project of me, to lear

Jan 3, 2023
MCsniperGO, a fast, efficient, and feature-packed minecraft name sniper.

MCsniperGO This project was made possible by my donators Usage This sniper is in it's beta stage, meaning bugs should be expected. Easy installation d

Dec 31, 2022
Minecraft server made in go, faster and better!

ElytraGo Minecraft server made in go, faster and better! Project is in early stage, but I'm trying continuously update it with new lines of code :)) L

Dec 9, 2022
Regolith is an Addon Compiler for the Bedrock Edition of Minecraft.

Much like bridge v2, Regolith introduces the concept of a "project folder", where your addons are written, including the RP, the BP, and any models, textures or configuration files. This single-folder-structure is great for version control, and allows you to keep your "source-of-truth" outside of com.mojang.

Nov 13, 2022