Click or drag to resize

NeoX Project Development

NeoX Repository OperationsManual / NeoX / NeoX Project DevelopmentNeoX Affiliate Program

NeoX Project Development

Contents
Overview

This page describes editing projects, including those created from base templates. To begin, it is useful to review creating projects and repository operations.

Projects typically have server and client parts. There are also serverless projects to publish content and apps that do not need a server to run.

NeoAxis Engine template

NeoAxis Engine is the main cloud template for the NeoAxis Engine. The template supports cloud, multiplayer, and single-player modes.

Full scene synchronization. It includes a full-scene network synchronization architecture, as well as multiplayer game frameworks for Shooter and Racing scenes. NeoAxis Engine runs on both the client and the server.

Full version of the engine. It contains a full copy of the standard standalone engine files, plus a small addition of cloud-specific code in the "Project\Assets\Game" folder.

Folder structure:

  • Project — Both the server and client projects are based on a single NeoAxis Engine project.
  • Builds/Server — Server build.
  • Builds/WindowsX64 — Client build for Windows x64.

Server solution:

The project is developed in Visual Studio or a similar IDE on the client machine. To create a build, use the build feature in the NeoAxis editor via "Game\Build\Server.product". The resulting build will be generated in the "Builds\Server" folder. Once built, upload it using the File Sync repository tools.

Client solution:

During client development, you can fully connect to the server without uploading the client app to the system. You can run under the debugger.

To configure the client, you need to set your project number in the Assets\Game\Scripts\GameSettings.cs. You can find the number in the NeoX app, in the list of projects.

public const long ProjectID = 3469;

The project is developed in Visual Studio or a similar IDE on the client machine. To create a build, use the build feature in the NeoAxis editor via "Game\Build\Client Windows x64.product". The resulting build will be generated in the "Builds\WindowsX64" folder. Once built, upload it using the File Sync repository tools.

Durak card game and Gomoku game templates

In addition to the basic NeoAxis Engine template, there are simpler templates with examples of created games.

Templates:

  • Durak card game is a turn-based cloud game with matchmaking, an in-game GUI, and support for up to six players.
  • Gomoku is a simple turn-based cloud game with matchmaking, for two players.

The full engine is not used on the server. In these templates, the engine is not launched on the server, as is done in the basic NeoAxis Engine template. The games are implemented in C#, using NeoAxis.Core.dll as a library.

Full scene synchronization is not used. A game scene is not created on the server, and its synchronization with the client is not performed. Game synchronization is handled via cloud functions of the NeoX service.

Simplified version of the engine. The templates include a trimmed-down version of the NeoAxis engine client; some resources have been removed. You can copy them from the basic NeoAxis Engine SDK.

Folder structure:

  • Server — Server source code.
  • Client — Client source and binaries.
  • Builds/Server — Server build.
  • Builds/WindowsX64 — Client build for Windows x64.

Server solution:

The project is developed in Visual Studio or a similar IDE on the client machine. To create a build, use the Publish feature in the Visual Studio. The resulting build will be generated in the "Builds\Server" folder. Once built, upload it using the File Sync repository tools.

Client solution:

During client development, you can fully connect to the server without uploading the client app to the system. You can run under the debugger.

To configure the client, you need to set your project number in the Assets\Game\Scripts\GameSettings.cs. You can find the number in the NeoX app, in the list of projects.

public const long ProjectID = 3469;

The project is developed in Visual Studio or a similar IDE on the client machine. To create a build, use the build feature in the NeoAxis editor via "Game\Build\Client Windows x64.product". The resulting build will be generated in the "Builds\WindowsX64" folder. Once built, upload it using the File Sync repository tools.

Unity Engine template

Unity template serves as the foundation for creating products based on the Unity Engine for NeoX.

Apps structure:

  • Server side: The server part of the base templates is a .NET solution based on the NeoAxis Core Library. The project is developed in Visual Studio or a similar environment on the client machine. Then a build for Linux is created using Publish and uploaded to the server with the NeoX app.
  • Client side: Unity project.

Folder structure:

  • Server — Server source code.
  • Server/Binaries_Linux — Server binaries.
  • Client/Project — Unity client project.
  • Client/Builds/WindowsX64 — Client build for Windows x64.

Server solution:

The project is developed in Visual Studio or a similar environment on the client machine. Then a build for Linux is created using Publish and uploaded to the server with the NeoX app.

Client solution:

To configure the client, you need to set your project number. You can find the number in the NeoX app, in the list of projects.

//connect to NeoX
var projectID = 2193;
var result = await CloudServiceClient.ConnectAsync( projectID );
Godot Engine template

Godot template serves as the foundation for creating products based on the Godot Engine for NeoX.

Apps structure:

  • Server side: The server part of the base templates is a .NET solution based on the NeoAxis Core Library.
  • Client side: Godot .NET project.

Folder structure:

  • Server — Server source code.
  • Server/Binaries_Linux — Server binaries.
  • Client/Project — Godot client project.
  • Client/Builds/WindowsX64 — Client build for Windows x64.

Server solution:

The project is developed in Visual Studio or a similar environment on the client machine. Then a build for Linux is created using Publish and uploaded to the server with the NeoX app.

Client solution:

To configure the client, you need to set your project number. You can find the number in the NeoX app, in the list of projects.

//connect to NeoX
var projectID = 2193;
var result = await CloudServiceClient.ConnectAsync( projectID );
Build Limitations

Current limits for creating client builds and template builds:

  • Maximum build archive file size: 30 GB.
  • Maximum size of the extracted build files: 300 GB.
  • Maximum size of a single file within the build: 10 GB.
  • Maximum number of files in the build: 1,000,000.
Serverless Project

A serverless project does not use a backend server. It is intended for publishing content and applications that do not require a server to run.

Select Serverless when creating a new project without a server.

Unlike a regular server-based project, a serverless project requires you to upload the build to Storage manually. The build is a ZIP file. As an example, you can download one of the project templates.

For projects with a client, add a file named 'Build.info' to the root of the archive. This file specifies the path to the executable. Example for Windows:

Executable = "Client/Builds/WindowsX64/Binaries/NeoAxis.Player.exe"

After uploading the build, connect it on the Publish tab by specifying it in the "Build Windows x64" property.

See also
NeoX Repository OperationsNeoX Affiliate Program