Skip to content

Kakumi/OPS-PRO-Server

Repository files navigation

This application is a server for the One Piece TCG game. It can be used with OPS Pro.

This project is still under development and will enable us to develop a turn-based card game simulation application. I started it to learn and try to understand how a turn-based card game works.

Support or contact me : Discord server


Jump to:

Dependencies

  • Visual Studio 2022
  • .NET 6 & .NET 7
  • SignalR
  • OPS Pro (Optional - Client that integrate the server)

Install

No installation file is available at the moment, as the application is still under development.

In the case of development, here's how to proceed.

  • Download OPS Pro Server and open the solution.
  • In appsettings.Development.json or appsettings.Production.json modify the line: “CardsPath”: “path\to\cards.json” to target the JSON card data file. **This file is generated via an external tool that will be made available later. In the meantime, you'll find the file here.
  • Launch OPS Pro Server (Profile: Run Dev or Run Prod)
    • Dev is used to automate certain actions without depending on other players.

Features

  • API to fetch cards.json
  • SignalR (Websocket)
    • Login as a user
    • Manage rooms (List, Create, Kick, Leave, Join, Set password, Set description)
    • Manage game (Choose first player with Rock Paper Scissor, Redraw first hand, Initialize board, Official One Piece TCG rules, Abandon, List cards, Cards states, Cards infos, Cards bonus and malus, ...)
  • Card script (There's a very easy way of integrating new scripts (rules and effects) for game cards with a multitude of events that the script can integrate. See OPSProServer.Contracts/Models/Scripts/OP01/OP01-001.cs for an example.)

TODO

  • Fix some bugs
  • Add database to allow more instances
  • Add realtime chat
  • Add missing cards scripts
  • Allow spectators
  • Fix and add unit tests
  • Add timer to restrict player's turn
  • Add rules to ban or restrict some cards

Known Bugs

  • Sometimes users are not logged out

Developement

The advantage of developing on this server with a public source code is that several applications can be grafted onto it, enabling players to play on any application that integrates the server.

At the moment, there's no documentation on the development, but if it's necessary I could write it progressively if I see that it's of interest to several people.

Licence

OPS Pro Server can be used by anyone for any purpose allowed by the permissive MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages