Code Monkey home page Code Monkey logo

jftse's Introduction

JFTSE - Java Fantasy Tennis Server Emulator

status in development


Introduction

JFTSE is an open source project for the game Fantasy Tennis.

It's a server emulator and written in Java.

It is completely open source; community involvement is highly encouraged.

Requirements

Since it's cross-platform I will not provide download links otherwise I will bloat this. If you use Windows then download them for Windows. If for Linux then download them for Linux.

Name Version
JDK / OpenJDK 15 / 15
Maven ≥ 3.6.3
MySQL 8.0
Any Java capable IDE 1 Any Version
Fantasy Tennis Thai 1.706
  • Also you need a Git CLI or GUI. Doesn't matter which one.

Note: If under Windows, Maven & JDK has to be configured in your PATH variable.

Project structure

The project is divided into 11 modules:


  • emulator - Old emulator, will be removed in the future
  • entities - Database model, repository and converters
  • commons - Utility classes
  • commons-proto - Protocol buffer classes
  • server-core - The core of the server containing abstract networking classes, protocol, codec, service classes for DB access, shared enums and constants needed by server implementations
  • b2b-webservice - RESTful web service for the B2B API
  • auth-server - Login server implementation
  • game-server - Game server implementation (lobby, singleplay, matchplay, etc.)
  • chat-server - Chat server implementation (chat lobby & rooms)
  • relay-server - Relay server implementation (match interaction between players has to be broadcast to all players in the match)
  • ac-server - Anti-cheat server implementation (JFTSE only)

Installation

Building the server itself

Getting the source code

git clone -b master git://github.com/sstokic-tgm/JFTSE.git

This will clone master branch, this is the RECOMMENDED branch for starters.

Compiling the source code

Building the core

cd <path to the recently cloned project>
mvn clean install

This will compile and build the core.

Keeping the code up to date

To update the core files, do the following:

cd <path to the cloned project>
# For master branch
git pull origin master

Afterwards you can build the emulator:

mvn clean install

Running the emulator

Running it the first time

Before you run it the first time, please execute2 the SQL file create_fantasytennis.sql located inside emulator/sql/create/.

Build the emulator and run it via:

cd auth-server/target
java -jar auth-server-1.0.0-SNAPSHOT.jar

Or you run it from inside your Java IDE if using one.

The auth-server will do his first time initialization and the process will take some time. It loades static data like products of the shop etc.
When it says

auth-server successfully started!

Then the initialization was successful and the auth-server is running.

Before you start to play, you have to do 3 more things:

  1. Execute2 the SQL file gameservertype.sql located inside emulator/sql/insert/ (execute this first!)
  2. Execute2 the SQL file gameserver.sql located inside emulator/sql/insert/
  3. Create a new account inside the Account table

Then you can start other server implementations you need or want to play on:

cd game-server/target
java -jar game-server-1.0.0-SNAPSHOT.jar

The relay-server is needed for playing since it relays/broadcasts the match interaction between players to all players in the match:

cd relay-server/target
java -jar relay-server-1.0.0-SNAPSHOT.jar

Running it

You run the emulators via:

cd xxx-server/target
java -jar xxx-server-1.0.0-SNAPSHOT.jar

Running client

  1. Download FT Client from : https://www.jftse.com/client/FantaTennis.7z
  2. Unzip and execute it for the first time in order to create configuration files
  3. Edit 'Serverinfo.ini' file to replace the IP (127.0.0.1) and Port (5894)
  4. Start the client with 'FantaTennis.exe' and log in with the created account

Reporting issues

TODO

Submitting fixes

TODO

Copyright

License: GPL 3.0
Read file LICENSE.

Footnotes

Footnotes

  1. If you want to develop yourself.

  2. You do it inside MySQL. Via CLI or some GUI application, it doesn't matter. 2 3

jftse's People

Contributors

sstokic-tgm avatar davingi avatar ferhatsatir avatar ivanovmandevivan avatar ancoft avatar wongkit avatar jcs090218 avatar andrexo9 avatar vanillezuckeeer avatar dependabot[bot] avatar nishanthgit avatar

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.