Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 2 sur 2
Aller à la page: <  1, 2
[C#] TXCobalt Aurora Light, User Alpha
Auteur Message
Répondre en citant
Message [C#] TXCobalt Aurora Light, User Alpha 
Revue du message précédent :

Skywalker a écrit:
(en français c'est Connexion trouvée Laughing)


xD.

Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [C#] TXCobalt Aurora Light, User Alpha 
Il y a une fonctionnalité qui va bientôt arriver sur TXCobalt, grâce à l'amélioration du format de communication (GameUpdate -> NMS (Network Message System (propre à TXCobalt))).
Ce format profite des avantages du Nagle's algorithm (TCP) en envoyant plusieurs paquets différents (en une seule mise à jour du jeu) mais basée sur le format du NMS (contenu de MessageFlag et Data).
Cela veut dire que ça sera mieux utilisé, et même moins gourmand (possibilité d'envoyer des messages "KeepAlive" sans Input ce qui permet ne pas utiliser de la puissance et de la connexion inutilement).

Il y aura donc de nouveau :
- Le support d'un chat ( Cool )
- Un rcon (remote console) client/server (pratique pour les administrateurs)
- Des messages direct (raw) (mods et autre)
- Des messages d’erreur (+ message lors d'un kick/ban), avec code d’erreur, la raison.

Tout ce qui est en italique n'est pas encore sûr d'être utilisé/implémenté.

N'oubliez pas de faire un tour sur le git : https://gitlab.com/TXCobalt/TXCobalt.Core
Et également, le client est utilisable : https://gitlab.com/TXCobalt/TXCobalt.Monogame




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [C#] TXCobalt Aurora Light, User Alpha 
La base du NMS est fonctionnelle mais non implémentée, je suis en train de voir pour faire une implémentation multi-thread.
(tout a été testé et semble fonctionner)

Cela donne de bons résultats et une assez bonne performance.
Vous pouvez voir le code source du NMS ici : https://gitlab.com/TXCobalt/TXCobalt.Core/tree/master/Reliability/NMS






______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [C#] TXCobalt Aurora Light, User Alpha 
Il y aura bientôt la version : NMS preview qui sera bien plus rapide que l'ancienne version mais surtout qui pourra introduire un chat, un rcon (pour les admins), et une meilleur communication entre le client et le serveur sans oublier le modding.

Voila une liste de ce que je vais faire (je vais même en faire un peu plus, tout ce qui est dans Later n'est pas pour maintenant) :
Anglais a écrit:
Monogame:
TODO: Code cleanup/refactoring & Licence heading
TODO: Improve UI and Editor including Gfx (maybe need graphist's help)

Later (planned):
TODO: Port to Pencil.Gaming library for better compatibility and performance with keyboard, some graphics cards and the OpenGL 2.0 Shader Support.

Core/Server
WARN: (NMS) Server call so many warn on player exit.
FIX: Lock some things in Updates

Later (planned) :
TODO: Format text (with linux's console formatting (bold, underline, blinking...) and/or
colors on keywords (like names, colors, versions)) and implement Console Control (+ RCON support)

Git : Push updates to Git, especialy TXCobalt.Monogame, not pushed for a while.


En français, ça donne en gros :
Citation:
Sur le client Monogame :
Nettoyage du code + vérification des en-tête des fichiers (licence)
Amélioration de la qualité de l'interface + Jeu

Plus tard : Portage vers Pencil.Gaming pour en gros que ça marche mieux et que l'on puisse mettre des shaders (pas minecraft ^^)

TXCobalt.Core/Server :
Corrections de petits bugs comme les erreurs dans une déconnexion ou les glitches de Updates
Et plus tard : un formatage de texte avancé + le RCON (accès à la console du Server de jeu sécurisé et par le client)

Et pour finir, des mises à jour sur le git surtout sur Monogame car il n'a pas été mis à jour depuis un moment.





______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message TXCobalt NMS Preview 
Bon, voila, je parle du NMS depuis un certains temps et maintenant, ça a plutôt bien marché, le NMS est extrêmement plus rapide que l'ancien fonctionnement !
Il n'y a donc un serveur plus rapide, mais pour le moment, c'est encore en développement, c'est juste un aperçu de ce que peut donner le NMS, il y a encore des soucis dans la vitesse du serveur (des latences par exemple), mais c'est nettement plus stable.



Alors de plus depuis l'ancienne version (celle du début des tirs) :
- Core/Server
- Info : NMSClient et NMSListner supportent toutes les familles de socket, cependant, il est obligatoire d'avoir un protocole de transmission fonctionnant en "Stream" (TCP, SCTP ou encore un stream de fichier Very Happy)
- Le NMS (expliqué juste avant, mais je détaillerais juste après)
- Des corrections de bug

- Monogame
- Un éditeur de niveau "non fini", dans TestMenu, c'est un éditeur guidée par la souris, donc, pour les niveaux, utilisez TXed
- Une Console expérimentale (buguée)
- Une amélioration considérable du menu

Bien sûr, le client Monogame est purement expérimental et encore en travail, il n'est pas prêt a un usage public et est trop instable pour être utilisable.
Il faudra attendre un peu de temps avant d'avoir un client stable.

Le NMS
Explication : Le NMS est un mode de fonctionnement que j'ai crée utilisant NetSerializer (qui est très rapide), son utilité est grande : permettre de communiquer plus de choses (chat, rcon, et des choses pour mods par exemple) en un temps record.
Fonctionnement : Le NMS utilise NmsClient (pour le client) et NmsListner (pour le serveur), ces deux là ont besoin d'un Socket (TCP) pour faire transiter les données, ces données sont reçu et ensuite redirigée par leur type (Flag) dans un event (c'est a dire, lorsqu'on reçoit un message, on peut définir quelque chose à faire avec).

Fonctionnement (technique) :
Le fonctionnement d'avant est le fonctionnement basique, mais le fonctionnement technique est le suivant :

Les données sont lues sur une "bande" de données, c'est pour ça que le TCP est utilisé.

Maintenant, il y a également des choses de faites dans l'optimisation de la sérialisation, cette fois ci, on réutilise le serializer plutôt que d'en recréer un a chaque fois.


Donc voila pour ceux qui veulent essayer cette version, vous pouvez avoir la source :
TXCobalt.Core (version du .NET 4.0 et 4.5 et plus (4.5.x, 4.6...) supportées) : https://up1.ca/#Zva34b5GMrsGun3NsZE1ng
TXCobalt.Monogame (pour la compilation, voyez avec un IDE (Visual Studio (Windows) ou Monogame (Linux/Mac)) + le site de la librairie Monogame) : https://up1.ca/#JoasN2e1uXitoPFkSa-C-w
TXCobalt.Server (il faut TXCobalt.Core dans le même dossier que le dossier TXCobalt.Server) : https://up1.ca/#NwmV35f6tmSYSDMRTZGhSg

Voila sinon pour ceux qui veulent des versions pré-compilées :
TXCobalt.Server (.NET 4.0) : https://up1.ca/#YPca3kH23qf4oCcZ7k9DxQ
TXCobalt.Monogame (.NET 4.0, et je me doute que il y aura beaucoup qui ne peuvent pas compiler) : https://up1.ca/#YC7M_xLzoP6kzPSF3qIuMA




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [C#] TXCobalt Aurora Light, User Alpha 
Mise à jour de TXCobalt.Core (v0.3) :

- Ajout du NMS
- Correction de divers bugs
- Ajout d'évents dans Log (On...)

Mise à jour, incluant une mise à jour importante sur le client (maintenant TXCobalt.Game)

https://gitlab.com/TXCobalt/TXCobalt.Game/ (code source compilable facilement, de la même façon que TXCobalt.Core (sauf que ce n'est pas compatible avec Windows XP))

Téléchargement (Windows/Mac/Linux (apparemment, sur x86 c'est cassé Confused , il faut que je regarde ça de plus près)) : https://up1.ca/#YmJtKp9txglFhpuUdfs8OQ
EDIT: System.DllNotFoundException: natives64/libglfw.so quand on ouvre normalement (sans être dans le dossier)
J'ai ouvert une issue dans Pencil.Gaming pour ce problème très embêtant : https://github.com/andykorth/Pencil.Gaming/issues/41
FIX possibles
: Utiliser Visual Studio ou MonoDevelop et compiler et exécuter directement le code.
: Pour linux, démarer avec mono TXCobalt.Game.exe dans le dossier de l’exécutable (ne s'applique pas à Windows)
: Si j'en trouve d'autres, je vous les faits parvenir.

De nouveau sur TXCobalt.Game :

Le texte de la console refait :


Les claviers azerty sont mieux supportées :


Les erreurs sont mieux gérées (sauf dans certains cas (corrigé chez moi mais pas encore sur le git/lien))


2 types de crash qui donne l'écran d'au dessus :
Les crash logiques (dans les updates), la console n'est pas affectée
Les crash graphiques (dans le draw), le jeu passe dans un fonctionnement minimal (pas de console ni d'autres choses), bientôt un menu avec divers choses (Restart, Minimal Console, Variables debugger, Global Debugger, function runner...)

Une amélioration considérable sur la performance et la compatibilité avec les vielles cartes graphiques par l'utilisation de l'OpenGL legacy (OpenGL 1.0/1.4).



Dernière édition par TSnake41 le Lun 4 Avr 2016 - 22:41; édité 1 fois

______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [C#] TXCobalt Aurora Light, User Alpha 
Je sais que mon commentaire est un peu HS, mais on devrait plutôt dire "Give this to developers, that helps them"? (au lieu de "that's helps they) (et y'a qu'un P à developer)




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message [C#] TXCobalt Aurora Light, User Alpha 
Hugo7 a écrit:
Je sais que mon commentaire est un peu HS, mais on devrait plutôt dire "Give this to developers, that helps them"? (au lieu de "that's helps they) (et y'a qu'un P à developer)

C'est vrai que je me suis planté Sad (comme le crash)

J'aurais plutôt pensé à : "Give this to the developers, to help correct this problem.", on vois bien le but de corriger le problème.




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [C#] TXCobalt Aurora Light, User Alpha 
TSnake41 a écrit:
EDIT: System.DllNotFoundException: natives64/libglfw.so quand on ouvre normalement (sans être dans le dossier)
J'ai ouvert une issue dans Pencil.Gaming pour ce problème très embêtant : https://github.com/andykorth/Pencil.Gaming/issues/41
FIX possibles
: Utiliser Visual Studio ou MonoDevelop et compiler et exécuter directement le code.
: Pour linux, démarer avec mono TXCobalt.Game.exe dans le dossier de l’exécutable (ne s'applique pas à Windows)
: Si j'en trouve d'autres, je vous les faits parvenir.


J'ai trouvé un FIX !

avec cette ligne (que j'ai trouvé moi-même) :
Code:
[lang=csharp]Environment.CurrentDirectory = Path.GetDirectoryName(typeof(Program).Assembly.Location);


Ce problème est résolu !




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [C#] TXCobalt Aurora Light, User Alpha 
Voila une mise à jour dans la Base (TXCobalt.Core) et le Serveur, une amélioration au niveau de la sécurité.
J'ai décider de nommer cette mise à jour, la TXCobalt Guard (référence à Steam Razz)

Les mots de passes et les MOTD (comme minecraft) sont maintenant supportées dans TXCobalt.Server (ils étaient présent mais inutilisées).

De nouveaux réglages font leur apparition ce qui donne dans le fichier de properties (qui est mieux foutu que Minecraft Mort de Rire )
Code:
[lang=properties]# TXCobalt server properties
# Generated the samedi 9 avril 2016 at 22:59

# Listening IP of the server
IP=0.0.0.0

# Listening port of the server
Port=5050

# Access password (used to restrict access using an password)
Password=

# Server MOTD
MOTD=

# Map file for default gameinstance
MapPath=default.map

# Rules file for default gameinstance
RulesFile=default_rules.json

# Logging the console in Log.log file
UseLog=true

# Nms socket retrieving delay, can have varius effects.
# an low setting get the server responsible but need many resources
# an high setting get the server not very responsible but do not always need resources
# That can affect Timeout but the datas still complete
# The recommended value is depending the server needing and hardware, keep it beetween 50~350
NmsUpdateTime=50

# Nms message limit, less to 1 makes the Nms unactive/useless
NmsMaxMessages=8

ShowDebug=false


NmsUpdateTime est le temps de mise à jour du Nms.
NmsMaxMessages est le maximum de mésages reçu par mise à jour, c'est important car c'est pour éviter qu'un client envoie une infinité de message ce qui pose problème (lags et déconnexion par Timeout des autres clients).

Egalement, un objet fait son apparition : ShieldGameObject, c'est une sorte de bouclier electromachintruc qui se recharge et qui bloque les tirs, je pense en faire un bon usage quand les maps pourront contenir des objets (ce qui est prévu bien sûr) Cool
Pleins de réglages = PLEIN DE POSSIBILITÉS




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [C#] TXCobalt Aurora Light, User Alpha 
Je viens de découvrir que le moteur Unreal Engine 4 était gratuit, compatible linux avec le support du C#, ce qui est génial car voyez vous un TXCobalt avec ce moteur Shocked .

Également, je ne pense pas que UE4 soit le seul, CryEngine (moteur de Crysis 1-3 et aussi celui de FarCry 2+3) à pris le même exemple : 100% gratuit.

Quand j'ai vu ça, j’étais content.

-----

J'ai remarqué une erreur dans le code (TXCobalt.Core -> NmsSettings plus précisement), du-coup, le code n'est pas compilable et ne marche pas, j'installe et teste UE4 et je corrige ce problème.




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [C#] TXCobalt Aurora Light, User Alpha 
Petite pause d'activité (~10 jours) mais ça reprend,

comme certains l'on demander, il y faudrait une version Windows.

Pour me faciliter la tache, je me suis fait ma propre copie adaptée de Pencil.Gaming pour être facilement compilable pour et sur Windows, Linux et Mac.

https://gitlab.com/TSnake41/Pencil.Gaming


Donc dans peu de temps, promis, une version Windows.




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [C#] TXCobalt Aurora Light, User Alpha 
Bon, je vous propose une chose, pour une raison de simplicité (logicielle et pratique), je vais voir pour mettre le tout sur un même et unique git (contrairement avec aujourd'hui un git avec le Server, un autre avec le Core, etc.), cela permettra de ne pas avoir à télécharger des git partout et de malheureusement tomber sur un problème de compatibilité, de plus, ce sera plus simple à mettre en place avec mon nouveau logiciel de git (GitKraken alors que avant, c'était git-cola).

Également, je pourrais plus facilement faire un système de compilation "user-friendly" (que vous pourrez facilement utiliser, sans soucis) qui compile à la fois le client, le serveur et tout le reste (je pense quelques outils (TXed, ...)) et ce sera plus simple de développer dessus si quelqu'un est intéresser pour développer (fichier de solution prêt à l'emploi et compatible Xamarin/Monodevelop & Visual Studio).

L'avantage de la compilation "user-friendly" est la compatibilité, il sera plus simple de fournir un système compilant sur la quasi-totalité des plate-formes (Windows (XP compris), Mac OSX, Linux (bien sûr) en passant par les *BSD et d'autres unix comme Minix). Bref, il sera possible de compiler le code avec les outils disponibles (.Net framework 4.0 de XP, .net 4.5 de 7/8(.1)/10 etc.).

Aussi, la maintenance sera bien plus simple (tout sera unifié).

Les seuls soucis sont :
- Confusions possibles lors des commits (contournables avec des [Server], [Client], [Misc], etc.)
- le CI sera un peu plus complexe (mais pas assez pour moi)

Bref, dites moi ce que vous en pensez et si vous avez quelque chose à ajouter à propos de cette refonte par Twitter ou le forum lui-même.


PS: Les vieux codes sources seront dans des .tar.7z et disponibles sur un autre git/mirror (old_TXCobalt).
PS2 : Je suis à la recherche d'un développeur C# passionné intéressé sur le projet ayant si possible des connaissances en OpenGL et Git pour développer TXCobalt.Game avec moi et également TXCobalt.Server, TXCobalt.Core reste bien entendu, à ma charge (malgré que j'accepterais les Pull Request (demandes de modification)).

EDIT : Disponible ici : https://gitlab.com/TSnake41/TXCobalt
Pour ceux qui souhaitent compiler, linux avec mono et git et démarer build.sh.
Toute la sortie est dans bin.




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Message [C#] TXCobalt Aurora Light, User Alpha 


Montrer les messages depuis:
Répondre au sujet Page 2 sur 2
Aller à la page: <  1, 2
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch