Giter Club home page Giter Club logo

intwars's Introduction

IntWars

DISCLAIMER: This is for development purposes only, this is not a finished project - and should not be used in a production enviroment. About

New: Website to provide a central location to discuss the project! http://leaguesandbox.com/

This is a fork of the 2 year old project, IntWars. It's a server framework for the MOBA games family. If you want to contribute to the project, please fork the repo and upload any progress to GitHub.
If you need help compiling the source on Windows, check here.

Important rules and information

  • Keep this project clean and simple
  • The project is using parts of the C++ 2011 standard.

Original Creators

  • Intline9 - intline9(at)gmail(dot)com
  • Ltsstar

Other Important Contributors

  • Elyotna (reddit: ?)
  • Spudgy (reddit: imSpudgy)
  • ProudHeart (reddit: chutch1122)

License

GPLv3 as sharing is caring, and when ever you extend/use/modify/fix any of this project you should share it again!

Contact

For information relating to this fork, contact me on reddit: chutch1122
I'm working on setting up a website where we can organize this better. http://leaguesandbox.com/

Notes for Compiling on Windows

Note: This is a very basic explanation. I am working on a more detailed explanation, but don't have the time right now.

This project uses elements from C++11, like initialization lists. Visual Studio does not support initialization lists in the 2010 or 2012 versions. Therefore, I recommend installing/using CMake and MinGW's g++ compiler.

You can find a guide for setting that all up here!

intwars's People

Contributors

antoniohermano avatar aportner avatar armandobasha avatar ccerrillos avatar chutch1122 avatar dotdeath avatar eirexe avatar eleazan avatar elyotna avatar gusor avatar h3npi avatar hstqq avatar jiwan avatar kalouantonis avatar leoagomes avatar ltsstar avatar mdcasey avatar michaelcraighoffman avatar michelfr avatar molenzwiebel avatar mrgreywater avatar mrpixelmc avatar neekhaulas avatar nicka101 avatar psychoc avatar satan6 avatar spiriteddusty avatar syndrome5 avatar tr33s avatar twizzes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

intwars's Issues

Using C++11 smart pointers and references rather than C raw pointers.

Hey guys,

So, I was looking over the source and there seems to be a large use of raw pointers which could be avoided through the use of smart pointers. These will define ownership for every object in the game while also avoiding manual deallocation and possible memory leaks or double frees.

For example, in Game.h:131 a map object is stored as a raw pointer and passed to objects. This could be converted to shared_ptr's or even better stored as a unique_ptr in the Game class and delegated as references. In this case, this would work quite well, as the objects that require it ensure that it is passed through the constructor, so it is allowed to be stored as a reference in the class instance.

If you're interested in making this switch, which I personally think will improve the projects architecture and remove memory issues later down the line, let me know. I'm more than willing to do the all initial work.

Thanks.

Visual Studio 2013 compile

Sup guys.
I got interested in this project since it seems to be pretty active and would love to implement some champions within the next times.
but sadly it seems that the compile for vs 12 is broken (127 errors total)

used software:
win7
cmake 2.8.12.1
vs 2013 express

revision of the report: 02b3df3
(updated issue)

Switching indentation to tabs.

All tabs are spaces, why don't we change them using search and replace? it shouldn't affect linux/mingw compilation and would be better for people using visual studio, we all win.

Launch Error (Win 8.1)

Loaded 417 RAF files
Games startedBefore mapterminate called after throwing an instance of 'sol::error'
what<>: lua: error: cannot open ../../lua/config.lua: Too many open files

Is this project still alive?

I'm getting a lot of trouble by the fact that IntWars can't detect the LoL 4.20 backup that I have, and because of that I can't test neither help the project.

Is this project still alive? It is planned to get support to the newer versions of League of Legends?

.ch and .model do not sync for all clients

I used .ch and .model to change my model and then later my champion and my friend told me that he did not see any change. It used to work in the past for everyone on the server.

Shopkeeper Location is correct on server, but not on client

After vigorous testing I have discovered there is nothing wrong with the placement of the shopkeepers and yonkeys on the server, the client just refuses to display them in their place due to the fact that they are out of bounds. This may be because they inherit from the player object, and as such the client refuses to place them outside the playable area.

RAFManager cannot find some files

When I was implementing a change model system, I noticed that the RAFManager does not see a lot of inibin files. The ones I was trying to load (Nidalee's) were located at DATA/Characters/Nidalee/Spells, but the current loading system only seems to find spells in DATA/Spells.

Unhandled Opcode 00

It's probably my fault somehow, but I get nothing but:

WARNING 22:03:47 D:\IntWars-master\gamed\src\PacketHandler.cpp handlePacket:208 Unhandled OpCode 00
INFO 22:03:47 D:\IntWars-master\gamed\src\PacketHandler.cpp printPacket:105 Printing packet with size 6 0000-0005 00 00 00 00 00 00 ...... \x00\x00\x00\x00\x00\x00

I haven't seen anything else related to this, suggestions?

.ch Command

Action:

Running .ch command with no arguments.

Expected:

".ch" will show message in chat of usage.

Actual:

Running the .ch command alone causes error
ERR : couldn't find champion stats for
Champion Levelup to 1
Then causes client crash.

.ch command bug

Champion will change but the entire game gets bugged after than, and the console is filled with 'received nilllua: error: expected function.'

Too many open files error is back

Despite the changes in 2273bfd trying to start the server results in the error:
"what(): lua: error: cannot open ../../lua/config.lua: Too many open files"
I built 1fe70da on Windows 7 x64 with MinGW

Minions 'freeze' while trying to pathfind.

After minions clear an enemy minion wave near a tower or immediately after destroying a tower, they 'freeze' for a second then teleport forward along their path to the next target (the tower or the next minion wave)

.model command

If the value of the .model command does not exist the server still asks the client to load it, breaking both the server and the client.

Compatiblity with 4.18

I compiled & everything but it's not working since league updated to 4.18, It just bugsplats when it fully loads.

Just a heads up

Vision?

Honestly, a lot of the code being developed needs to take vision into account, but there's really no support for this. For example, when minions spawn, I shouldn't be notified about the enemy minions unless I have vision, and yet there's simply a broadcastPacket call for it.

Turrets don't generate vision, and I'm guessing the only reason anything looks like it's generating vision is because of the client. This will become a problem when trying to work with things that stop working when you lose vision, for a basic situation, as well as how a minion can interact with a player in a bush. Right now they're heat seeking and will know you're there because you're the closest thing to them. I consider vision to be one of the top priorities right now, instead of improving the scripting hooks to continue to do things wrong. (no offense meant, they're right as far as the code can be right)

6150e40 does nothing

EIREXE forgot to redo packets.h when he fixed the indentation in his pull request, currently the MapID is still hardcoded in packets.h (line 116).

Failure to connect with mac client

No worries, i already did the hard work: the outgoing enet header.peerId (the first byte of every packet) is wrong.
Packet dump:

Client -> Server
A7 FF 00 15 82 FF 00 01 00 4B 05 78 00 00 80 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 13 88 00 00 00 02 00 00 00 02 A7 C6 8F 04

Yorick -> Client
29 80 25 6D 83 FF 00 01 00 7F 05 78 00 00 80 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 13 88 00 00 00 02 00 00 00 02

Riot -> Client
A7 80 07 60 83 FF 00 01 00 41 03 E4 00 00 80 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 13 88 00 00 00 02 00 00 00 02

It gets set here:

header.peerID = currentPeer->outgoingPeerID + 0x29;

If i change it to A7 there it works

Using Spells, AutoAttack or if minions start to fight the server crashes

The auto-attacks seem to be destroyed incorrectly, resulting in breaks in GDB when minions attack, it points to functionality inside the update function of CollisionHandler.

Objects get removed from the CollisionHandler when they're being deleted, how are they still in the CollisionHandler? Is delete not working? Are autoattacks not being removed correctly?

Lua doesn't work

Hey,
it seems that all lua script doesn't work. I tried to use cait E and nothing happened, the animation works but it doesn't teleport.
Anyway, thank you for your work on it !! I would like to help but I don't know where to start ..

Packet Changes

Hi, as of the last patch the structure of multiple send (from client to server) and receive packets have changed.

Send:
Cast,
ChargedCast,
Move,
Ping
(all have extra byte added)

Recv:
Damage new struct:

position size (bytes) type description
0 1 Byte Header
1 4 Integer Target Network ID
5 1 Byte Damage Type
6 2 Short Unknown ??? (byte followed by 0)
8 4 Float Damage Amount
13 4 Integer Target Network ID Copy
17 4 Integer Source Network ID

There may be others.

Btw if you want more information about the packet(s) 0xFE then let me know.

Here are some other headers you might have missed:
PKT_C2S_HeartBeat = 0x08,
PKT_C2S_RemoveItem = 0x09,
PKT_C2S_InteractObject = 0x3A, // thresh lantern and dominion towers capping
PKT_C2S_GameFinished = 0x8C,
PKT_C2S_Disconnect = 0x9B,
PKT_C2S_ChargedCast = 0xE6,
PKT_C2S_Refund = 0xFE, //AKA 0x110

GCC build on Win64 broken

a1a816b seems to have broken GCC build on Win64. Build fails with the error:
F:/Intwars/gamed/include/Buff.h:22:17: error: 'unint64' has not been declared
void update(uint64 diff){

Sound is not working on 4.14

Ever since I updated to the 4.14 client with Riot's new sound engine, sounds don't play when I try to start the client using IntWars as the server. I checked the game logs and the client is attempting to use FMOD when it's supposed to use Wwise. This issue doesn't happen when I play on Riot's actual servers. Does anyone else experience this issue?

Vision isn't working

As of latest commit from dotdeath (bd109b1), vision is not working, you can't see people from the other team, pic here:

e5t04o8 1

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.