Git Product home page Git Product logo

godotsteam's Introduction

GodotSteam for Godot Engine

Join the chat at https://gitter.im/GodotSteam/community CodeFactor

Steam API for the Godot game engine (version 3.1). For the Windows, Linux, and Mac platforms.

Additional flavors include: Godot 2.x, Godot 2.x Minimal, Godot 3.x, Godot 3.x Minimal, Godot 3.1 Minimal, Server, and GDNative.

Important Messages

This master repo contains code for GodotSteam for Godot 3.1! If you are looking for the old master branch, it has been moved to the godot2 branch.

Upon the release of Godot 3.2, the Godot3 and Master branch will merge as there is no difference between the two. The godot3 branch will be deleted and all Godot 3.x version will run off the master branch. The godot3-min and godot31-min will also be merged into the same godot3-min branch.

Documentation

Documentation is available here: https://gramps.github.io/GodotSteam/

Alternately, there is the project's Wiki page here: https://github.com/Gramps/GodotSteam/wiki

You can also check out the Search Help section inside Godot Engine after compiling it with GodotSteam.

Current Build

You can download pre-compiled versions (currently v1.0.1) of this repo here: https://github.com/Gramps/GodotSteam/releases

Version 1.0.1 Changes

  • Added: Networking functionality, thanks to Antokolos
  • Changed: linked against Steamworks 1.44
  • Fixed: leaderboard_uploaded returning false no matter what
  • Fixed: getFriendGamePlayed now responds with correct dictionary of data

Known Issues

  • Lobby message will crash game, favoriting lobbies does not work yet
  • getFriendGamePlayed is incomplete; should be a dictionary

Quick How-To

  • Download this repository and unpack it.
  • Download and unpack the Steamworks SDK; this requires a Steam developer account.
  • Download and unpack the Godot source; preferably 3.1.
  • Move the following to godotsteam/sdk/:
    sdk/public/
    sdk/redistributable_bin/
  • The repo's directory contents should now look like this:
    godotsteam/sdk/public/*
    godotsteam/sdk/redistributable_bin/*
    godotsteam/SCsub
    godotsteam/config.py
    godotsteam/godotsteam.cpp
    godotsteam/godotsteam.h
    godotsteam/register_types.cpp
    godotsteam/register_types.h
  • Now move the "godotsteam" directory into the "modules" directory of the unpacked Godot Engine source.
  • Recompile for your platform:
  • When recompiling the engine is finished, copy the shared library (steam_api) from sdk/redistributable_bin/ folders to the Godot binary location (by default in the godot source /bin/ file but you can move them to a new folder). It should look like this:
    • Linux 32/64-bit
    libsteam_api.so
    ./godot.linux.tools.32 or ./godot.linux.tools.64
    
    • OSX
    libsteam_api.dylib
    ./godot.osx.tools.32 or ./godot.osx.tools.64
    
    • Windows 32-bit
    steam_api.dll
    ./godot.windows.tools.32.exe
    
    • Windows 64-bit
    steam_api64.dll
    ./godot.windows.tools.64.exe
    
  • Your game must ship with the executable, Steam API DLL/SO/DyLIB, and steam_appid.txt to function. Lack of the Steam API DLL/SO/DyLib (for your respective OS) or the steam_appid.txt will cause it fail and crash.
    • NOTE: For OSX, the libsteam_api.dylib and steam_appid.txt must be in the Content/MacOS/ folder in your application zip or the game will crash.

From here you should be able to call various functions of Steamworks. You should be able to look up the functions in Godot itself under the search section. In addition, you should be able to read the Steamworks API documentation to see what all is available and cross-reference with GodotSteam.

Donate

Pull-requests are the best way to help the project out but you can also donate through Patreon or Paypal!

License

MIT license

godotsteam's People

Contributors

alexhoratio avatar connorbp avatar fischer96 avatar gitter-badger avatar gramps avatar marcelofg55 avatar victorienxp avatar

Watchers

 avatar  avatar

Forkers

gitter-badger

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.