【问题标题】:Sharing gamefiles between players在玩家之间共享游戏文件
【发布时间】:2019-07-28 22:57:00
【问题描述】:

我尝试创建一款可以帮助人们在大学学习的游戏。我的问题是,玩家如何在手机之间共享问题并将它们放入正确的文件夹中。有没有办法设置服务器来上传文件然后下载它们?我想到了类似“Mario Maker”中的Levelcode system。

如果像“Mario Maker”中的系统可以工作,我需要什么样的服务器?我知道我需要某种数据库,但我需要 mySQL 之类的东西吗?还有我该如何设置? 我从未学过服务器编程,但我很想学习。

【问题讨论】:

    标签: c# unity3d mobile server


    【解决方案1】:

    您需要设置和托管一个REST API。

    有很多不同的方法可以实现,这完全取决于您对主机服务、编程语言和数据库库的偏好。

    如果您没有偏好。我建议:

    AWS - 功能强大,您可以获得 12 个月的免费托管

    Golang - 现代、快速、非常适合网络应用

    SQLite (go-sqlite3) - 简单轻量

    您需要为请求设置处理程序。比如:

    添加新关卡:

    POST example.com/level/
    

    要获得现有级别:

    GET example.com/level/:id
    

    在 Golang 中,您可以使用以下方式处理请求:

    func levelHandler(w http.ResponseWriter, r *http.Request) {
        switch r.Method {
        case "GET":
            // find level id in the database
        case "POST":
            // add level to database
    }
    
    func main() {
        http.HandleFunc("/level", levelHandler)
        http.ListenAndServe(":8080", nil);
    }
    

    要修改现有级别:

    PUT example.com/level/:id
    

    现在的问题是世界上任何人都可以改变任何级别。您将需要添加用户身份验证,这完全是另一回事。

    您可以考虑使用REST asset for Unity。

    最后一点:服务器编程很难,准备好花费大量时间尝试、失败和学习。

    【讨论】:

      猜你喜欢
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-23
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多