• Stars
    star
    226
  • Rank 175,754 (Top 4 %)
  • Language
    C#
  • License
    Other
  • Created almost 8 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

XNA / MonoGame based client for playing classic Command & Conquer games both online and offline with a CnCNet game spawner.

CnCNet Client

The MonoGame / XNA CnCNet client, a platform for playing classic Command & Conquer games and their mods both online and offline. Supports setting up and launching both singleplayer and multiplayer games with a CnCNet game spawner. Includes an IRC-based chat client with advanced features like private messaging, a friend list, a configurable game lobby, flexible and moddable UI graphics, and extras like game setting configuration and keeping track of match statistics. And much more!

Targets

The primary targets of the client project are

However, there is no limitation in the client that would prevent incorporating it into other projects. Any game or mod project that utilizes the CnCNet spawner for Tiberian Sun and Red Alert 2 can be supported. Several other projects also use the client or an unofficial fork of it, including Tiberian Sun Client, Project Phantom, YR Red-Resurrection, The Second Tiberium War and CnC: Final War.

Development requirements

The client has 4 builds: Windows DirectX11, Windows OpenGL, Windows XNA and Universal OpenGL.

  • The DirectX11 and OpenGL builds rely on MonoGame.
  • The XNA build relies on Microsoft's XNA Framework 4.0 Refresh.

Building the solution for any platform requires Visual Studio 2022 17.3 or newer and/or the .NET SDK 7.0. A modern version of Visual Studio Code, MonoDevelop or Visual Studio for Mac could also work, but are not officially supported. To debug WindowsXNA builds the .NET SDK 7.0 x86 is additionally required. When using the included build scripts PowerShell 7.2 or newer is required.

Compiling and debugging

  • Compiling itself is simple: assuming you have the .NET 7.0 SDK installed, you can just open the solution with Visual Studio and compile it right away.
  • When built as a debug build, the client executable expects to reside in the same directory with the target project's main game executable. Resources should exist in a "Resources" sub-directory in the same directory. The repository contains sample resources and post-build commands for copying them so that you can immediately run the client in debug mode by just hitting the Debug button in Visual Studio.
  • When built in release mode, the client executable expects to reside in the "Resources" sub-directory itself. In target projects, the client libraries are named clientdx.dll, clientogl.dll and clientxna.dll respectively for each platform.
  • When built on an OS other than Windows, only the Universal OpenGL build is available.
  • The BuildScripts directory has automated build scripts that build the client for all platforms and copy the output files to a folder named Compiled in the project root. You can then copy the contents of this Compiled directory into the Resources sub-directory of any target project.

End-user usage

  • Windows: Windows 7 SP1 or higher is required. The DirectX11 build is preferred. The XNA build is intended for those whose GPU does not properly support DX11.
  • Other OS: Use the Universal OpenGL build.

End-user requirements

Windows requirements:

The XNA build additionally requires:

Windows 7 SP1 and Windows 8.x additionally require:

  • Microsoft Visual C++ 2015-2019 Redistributable 64-bit / 32-bit.

Windows 7 SP1 additionally requires:

Other OS requirements:

Client launcher

This repository does not contain the client launcher (for example, DTA.exe in Dawn of the Tiberium Age) that selects which platform's client executable is most suitable for each user's system. For that, see dta-mg-client-launcher.

Branches

Currently there are only two major active branches. develop is where development happens, and while things should be fairly stable, occasionally there can also be bugs. If you want stability and reliability, the master branch is recommended.

Screenshots

Screenshot Screenshot

More Repositories

1

ts-ddraw

Rewrite of cnc-ddraw with Tiberian Sun as the target
C
394
star
2

cncnet-yr-client-package

The official CnCNet Yuri's Revenge package for online.
Inno Setup
103
star
3

ts-patches

Command and Conquer: Tiberian Sun patches for CnCNet online gameplay.
C
42
star
4

yrpp-spawner

CnCNet DLL for Command and Conquer: Yuri's Revenge using Syringe
C++
21
star
5

petool

Tool to help rebuild, extend and patch 32-bit Windows applications.
C
19
star
6

yr-patches

Command and Conquer: Yuri's Revenge patches for CnCNet online gameplay.
C
18
star
7

cncnet-server

CnCNet Tunnel Server
C#
14
star
8

cncnet4

CnCNet 4.0 client and server
C
12
star
9

cncnet-for-ares

Provides cncnet5.dll and a customizable rename.dll to handle renaming the game, mix, and ini files.
C
10
star
10

dta-mg-client-launcher

Launcher for the XNA / MonoGame client that automatically selects the correct executable to run for the user's platform.
C#
9
star
11

cncnet-tunnel

The CnCNet 5 tunneling service
Java
9
star
12

dummy-dplayx

Dummy dplayx.dll / dplay.dll. Allows you to run old games that require DirectPlay without having DirectPlay installed. Made for dune 2000, but might work for other games too.
C
9
star
13

cncnet-ladder-api

CnCNet Ladder API & UI for Command & Conquer
PHP
5
star
14

maps

Popular maps shipped with CnCNet
5
star
15

cncnet-map-api

The CnCNet map server rewritten in Python
Python
3
star
16

cncnet-ts-client-package

The official CnCNet Tiberian Sun package.
HTML
2
star
17

cncnet-client-updater

Updater for the MonoGame / XNA CnCNet client based on the original one.
C#
2
star
18

renmaster

GameSpy master server for C&C Renegade
Java
2
star
19

yr-bot

A simple nodejs IRC bot
JavaScript
2
star
20

d2k-patches

Dune 2000 patches for CnCNet online gameplay.
C
1
star
21

cncnet-yr-testers

A c# application to ease the testing process for up coming updates
C#
1
star
22

cncnet-ra-client-package

The official CnCNet Red Alert package for online.
Shell
1
star
23

xna-client-versionwriter

Command-line tool for writing version files for CnCNet Client.
C#
1
star
24

ebfd-patches

Emperor: Battle for Dune patches for CnCNet online gameplay.
Assembly
1
star
25

cncnet-docker-tunnel

1
star